2014-04-28 29 views
0

以及我有下面的XML文件:如何編寫特定的節點後,在XML文件中的XML文本

<Query> 
     <DataSourceName>DS1</DataSourceName> 
     <CommandText>SELECT FirstName,Lastname FROM Person</CommandText> 
     </Query> 
     <Fields> 
     <Field Name="FirstName"> 
      <DataField>FirstName</DataField> 
      <rd:TypeName>System.String</rd:TypeName> 
     </Field> 
     <Field Name="Lastname"> 
      <DataField>Lastname</DataField> 
      <rd:TypeName>System.String</rd:TypeName> 
     </Field> 
    </Fields> 

笏我必須做的是,我必須寫從節點「田」 XML文本「/字段「後節點」查詢「..如何做到這一點..plz幫助我

+0

:你能描述你真的想達到什麼樣的? 「XML文本從節點」字段「到」/字段「節點」查詢「後描述你的情況,以便您的問題得到解決 – Smack

+0

以及我有XML文件是:<?xml version =」1.0「?> hello \t \t 谷歌 \t www.google.co.uk 和我有添加bove xml文件在這個xml文件後 node..how做到這一點 – Roshan04

回答

0

您可以使用Xdocument來處理xml。您可以參考以下代碼片段將元素添加到標籤中。希望這有助於

XDocument xdoc = XDocument.Load(test.xml"); 
XNamespace ns = "schemas.microsoft.com/sqlserver/reporting/2005/01"; 
     XNamespace ns1 = "schemas.microsoft.com/SQLServer/reporting"; 


     xdoc.Root.Element(ns + "Fields").Add(new XElement("Field", new XAttribute("Name","ReportId"), new XElement(ns1 + "TypeName", "System.Int64"), new XElement("DataField", "ReportId"))); 


xdoc.Save(test.xml"); 

添加命名空間是很重要的位置。我附上了源文件和結果文件供您參考。

源文件:

<?xml version="1.0" encoding="utf-8"?> 
<Report xmlns="schemas.microsoft.com/sqlserver/reporting/2005/01" xmlns:rd="schemas.microsoft.com/SQLServer/reporting"> 
    <Query> 
    <DataSourceName>DS1</DataSourceName> 
    <CommandText>SELECT FirstName,Lastname FROM Person</CommandText> 
    </Query> 
    <Fields> 
    <Field Name="FirstName"> 
     <DataField>FirstName</DataField> 
     <rd:TypeName>System.String</rd:TypeName> 
    </Field> 
    <Field Name="Lastname"> 
     <DataField>Lastname</DataField> 
     <rd:TypeName>System.String</rd:TypeName> 
    </Field> 
    </Fields> 
</Report> 

結果文件:

<?xml version="1.0" encoding="utf-8"?> 
<Report xmlns="schemas.microsoft.com/sqlserver/reporting/2005/01" xmlns:rd="schemas.microsoft.com/SQLServer/reporting"> 
    <Query> 
    <DataSourceName>DS1</DataSourceName> 
    <CommandText>SELECT FirstName,Lastname FROM Person</CommandText> 
    </Query> 
    <Fields> 
    <Field Name="FirstName"> 
     <DataField>FirstName</DataField> 
     <rd:TypeName>System.String</rd:TypeName> 
    </Field> 
    <Field Name="Lastname"> 
     <DataField>Lastname</DataField> 
     <rd:TypeName>System.String</rd:TypeName> 
    </Field> 
    <Field Name="ReportId" xmlns=""> 
     <rd:TypeName>System.Int64</rd:TypeName> 
     <DataField>ReportId</DataField> 
    </Field> 
    </Fields> 
</Report> 
+0

@ Roshan04你合併了兩個xml文件嗎? – Smack

+0

以及它給出的錯誤,rd:未聲明的前綴..沒有m不合並兩個xml文件。我根據您的建議更改我的代碼 – Roshan04

+0

@ Roshan04您必須指定名稱空間,如XNamespace ns =「schemas.microsoft.com/sqlserver/報告/ 2005/01" ; – Smack

相關問題