如果xml文件具有相同的节点,如何添加Xml文本

时间:2014-04-30 05:41:27

标签: xml c#-4.0 xml-namespaces

我有以下xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    <DataSets>
    <DataSet Name="Data">
    <Query>
    <DataSourceName>DS1</DataSourceName>
    <CommandText>text</CommandText>
    </Query>
    </DataSet>
    <DataSet Name="table22">
    <Query>
    <DataSourceName>DS1</DataSourceName>
    <CommandText>New text2</CommandText>
    </Query>
    <Fields>
     </Fields>

我必须在Fields打开和关闭节点之间添加以下xml文本,但是我不知道如何使用它。对xml的新手可以有人请帮助我。谢谢!!!

Xml file to add is:

    <Field Name="ReportId">
      <DataField>ReportId</DataField>
      <TypeName xmlns="http://schemas.microsoft.com//SQLServer//reporting//reportdesigner">System.Int64</TypeName>
    </Field>

1 个答案:

答案 0 :(得分:0)

此问题与您的previous question非常相似。除了我们选择<Query>元素的部分略有变化之外,您可以使用相同的方法:

var query = doc.Elements(ns + "DataSets")
               .Elements(ns + "DataSet")
               .FirstOrDefault(o => o.Attribute("Name") != null &&
                                    o.Attribute("Name").Value == "table22")
               .Element(ns + "Query");