大家好我试图将下面的代码从XDocument转换为XmlDocument(我需要在XmlDocument中)你是否知道需要更改的不同方法?我在XmlDocument和XElement类中查找了其中的一些,但我的更改没有编译。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement root = (XElement)doc.FirstNode;
DataTable dt = new DataTable();
dt.Columns.Add("Parent", typeof(string));
dt.Columns.Add("Child", typeof(string));
dt.Columns.Add("Attribute", typeof(string));
dt.Columns.Add("Value", typeof(string));
foreach(XElement parent in root.Elements())
{
string parentTag = parent.Name.LocalName;
foreach (XElement child in parent.Elements())
{
string childTag = child.Name.LocalName;
foreach (XAttribute attribute in child.Attributes())
{
dt.Rows.Add(new object[] { parentTag, childTag, attribute.Name, (string)attribute });
}
}
}
}
}
}
由于
答案 0 :(得分:0)
为什么不将最终的XDocument
读入新的XmlDocument
,而不是重构现有的代码库?
XDocument xDocument =
XDocument.Load("file.xml");
...other manipulations...
XmlDocument xmlDocument =
new XmlDocument();
// Read the XDocument as a simple XML string:
xmlDocument.LoadXml(xDocument.ToString());
// Alternatively, read the XDocument with an XmlReader:
xmlDocument.Load(xDocument.CreateReader());