我有源XML文件,它带有多个根元素,我无能为力.将这些片段加载到具有单个根节点的XDocument中的最佳方法是什么?我可以创建该根节点以获得有效的XML文档?
样品:
<product></product>
<product></product>
<product></product>
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
<products>
<product></product>
<product></product>
<product></product>
</products>
Run Code Online (Sandbox Code Playgroud)
谢谢!
Rob*_*ney 20
以下是如何使用a XmlReader
,这可能是最灵活,性能最快的方法:
XmlReaderSettings xrs = new XmlReaderSettings();
xrs.ConformanceLevel = ConformanceLevel.Fragment;
XDocument doc = new XDocument(new XElement("root"));
XElement root = doc.Descendants().First();
using (StreamReader fs = new StreamReader("XmlFile1.xml"))
using (XmlReader xr = XmlReader.Create(fs, xrs))
{
while(xr.Read())
{
if (xr.NodeType == XmlNodeType.Element)
{
root.Add(XElement.Load(xr.ReadSubtree()));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我会让你把它放到一个字符串字段中,但你基本上可以这样做:
myDoc=new XmlDocument();
myDoc.LoadXml("<products>"+myData+"</products>");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7458 次 |
最近记录: |