将.xml文件读入XmlDocument
本文关键字:XmlDocument 文件 xml | 更新日期: 2023-09-27 18:14:56
我有一个动态平铺模板,如:
<tile>
<visual version="2">
<binding template="TileSquare150x150Text02" fallback="TileSquareText02">
<text id="1">Text Field 1 (larger text)</text>
<text id="2">Text Field 2</text>
</binding>
</visual>
</tile>
我可以像这样将它读入XmlDocument
:
StringBuilder sb = new StringBuilder("<?xml version='"1.0'" encoding='"utf-8'" ?><tile>");
sb.Append("<visual version='"2'"><binding template='"TileSquare150x150Text04'" fallback='"TileSquareText04'"><text id='"1'">Text Field 1</text></binding></visual></tile>");
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(sb.ToString());
但是我真的希望直接从文件中读取它,因为这会很快变得非常混乱。
XmlDocument.Load
不支持Windows Phone 8.1,所以我不能只是泵入文件名。System.IO.File.ReadAllText(fileName);
对于Windows Phone 8.1也是不可接受的。XDocument
似乎没有一个友好的方法。
我能做些什么来读取。xml文件到string
,这样我就可以把它插入Windows Phone 8.1应用程序的XmlDocument ?
XDocument。加载可以从文件加载。根据MSDN, Windows Phone 8.1支持该功能:
- XDocument。加载方法(字符串)
支持版本:Windows Phone 8.1, Windows Phone 8, Silverlight 8.1
XDocument。解析从包含XML的字符串加载。
关于从XDocument到XmlDocument的转换,你可以使用@Muhammad的答案。如果您决定实现它,请考虑大型XML文件的潜在性能问题(请阅读下面的注释)。
这是如何在xml文档中实现的。
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(XDocument.Load("Assets/test.xml").ToString());