XMLException 未处理'var'是一个意外的令牌。预期的令牌是'='



我正在尝试从xml文件中读取xml节点值。但当我这样做的时候,它抛出了一个异常:

System.Xml.XmlException:"src"是意外的标记。所需的标记为"="。第29行,位置19。位于System.Xml.XmlTextReaderImpl.Throw(字符串res,字符串[]args)位于System.Xml.XmlTextReaderImpl.ParseAttributes()位于System.Xml.XmlTextReaderImpl.ParseElement()位于System.Xml.XmlTextReaderImpl.ParseElementContent()位于System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace)位于System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)位于System.Xml.XmlDocument.Load(XmlReader读取器)位于System.Xml.XmlDocument.Load(字符串文件名)位于中的ToolkitM9.RVersion.Window_Loaded(Object sender,RoutedEventArgs e)f: \Development\ToolkitM9\ToolkitM9\R版本.xaml.cs:line 48

这是我的代码:

            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("Version.xml");
            XmlNodeList name = xDoc.GetElementsByTagName("Name");
            XmlNodeList ver = xDoc.GetElementsByTagName("Version");
            XmlNodeList notes = xDoc.GetElementsByTagName("Notes");
            XmlNodeList openSite = xDoc.GetElementsByTagName("openSite");
            XmlNodeList link = xDoc.GetElementsByTagName("Link");
            MessageBox.Show(
            "Name: " + name[0].InnerText + "n" +
            "Version: " + ver[0].InnerText + "n" +
            "Notes: " + notes[0].InnerText + "n" +
            "Open Link? " + openSite[0].InnerText + "n" +
            "Link: " + link[0].InnerText + "n"

这是我的XML文件:

 <Recovery>
    <Name>TWRP</Name>
    <Version>2.5.0.3</Version> 
    <Notes>There are some bugs remaining in this build. See here..</Notes>
    <openSite>true</openSite>
    <Link>http://google.com</Link>
 </Recovery>

感谢您的帮助!:)

这对我有效。请注意,我使用的是System.Xml.Linq.XDocument,而不是XmlDocument。虽然XDocument是首选,但我不认为使用XmlDocument是您的问题。我同意@Karl Johan Sjogren的观点,即你可能没有解析你认为自己是什么,尽管我不同意需要设置标题。跳过文件并直接加载URI成功:

XDocument doc = XDocument.Load("https://s.basketbuild.com/dl/devs?dl=squabbi/m9/recoveries/GSM/Version.xml");
var name = doc.Root.Element("Name").Value;
var version = doc.Root.Element("Version").Value;
var notes = doc.Root.Element("Notes").Value;
var site = doc.Root.Element("openSite").Value;
var link = doc.Root.Element("Link").Value;
Console.WriteLine(name);
Console.WriteLine(version);
Console.WriteLine(notes);
Console.WriteLine(site);
Console.WriteLine(link);

最新更新