1

下面要在我的 Windows Phone 应用程序中解析的 xml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
   <dict>
  <key>2013</key>
   <dict>
      <key>January</key>
        <dict>
        <key>Girivalam</key>
        <dict>
            <key>StartDate</key>
            <date>2013-01-26T04:10:00Z</date>
            <key>EndDate</key>
            <date>2013-01-27T05:26:00Z</date>
            <key>FullMoon</key>
            <date>2013-01-26T04:10:00Z</date>
        </dict>
                </dict>
       </dict>
      </dict>
</plist>

我使用以下代码对其进行了解析。

   private void Parsing()
    {
        using (XmlReader reader = XmlReader.Create(new StringReader("/Parse/appmodel-data.xml")))
        {
            XDocument document = XDocument.Load(reader);
            IEnumerable<XElement> AuthElement = from elements in document.Descendants("dict")
                                                select elements;
        }
    }

当我执行应用程序时,我收到错误“根级别的数据无效。第 1 行,位置 1。” 谁能纠正我哪里出错了?

提前致谢

4

2 回答 2

1
StreamResourceInfo xml = Application.GetResourceStream(new Uri("/ProjectName;component/FileFolder/filename.xml", UriKind.Relative));
XElement xmlElement = XElement.Load(xml.Stream);

您可以使用您的语句本身。唯一的事情是正确引用 XML 的路径。

于 2013-01-28T09:56:21.160 回答
1

将文件标记为资源并尝试以下操作;

System.IO.Stream fileStream = Application.GetResourceStream(new Uri(@"/Change this with the AssemblyName;component/Parse/appmodel-data.xml",UriKind.Relative)).Stream;

XDocument document = XDocument.Load(fileStream);                        
IEnumerable<XElement> AuthElement = from elements in document.Descendants("dict")
                                        select elements;
于 2013-01-28T09:56:42.640 回答