【发布时间】:2021-02-24 18:08:28
【问题描述】:
我几天来一直在尝试将 XML 文件中的值读取到文本框中。我搜索了相关问题:
Reading values from xml file with Linq
C# Reading from XML files
Getting values from xml file using C#
How to Read values from XML file
和视频:
https://www.youtube.com/watch?v=4dPWkEARptI
https://www.youtube.com/watch?v=-DwANN5_BoE
不过,我仍然无法正确读取“背景”值,并且总是收到此错误: (我怀疑它与 XML 文件的层次结构有关,我没有选择正确的 Element \ Node)我错过了什么?
An unhandled exception of type 'System.Xml.XmlException' occurred in System.Xml.dll
Additional information: 'None' is an invalid XmlNodeType.
我的 XML 文件:
<?xml version="1.0"?>
<ArrayOfXMLSaveClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<XMLSaveClass>
<Background>D:\Temp\100 Ideas for Every Occasion.pdf</Background>
</XMLSaveClass>
到目前为止我的代码:
private void button4_Click(object sender, EventArgs e)
{
OpenFileDialog OP = new OpenFileDialog();
OP.Filter = "XML files (*.xml)|*.xml";
OP.DefaultExt = "xml";
OP.AddExtension = true;
if (OP.ShowDialog() == DialogResult.OK)
{
XmlReader XDoc = XmlReader.Create(OP.Filename);
while (XDoc.Read());
{
if (XDoc.NodeType == XmlNodeType.Element && XDoc.Name == "Background")
{
}
}
string L01 = XDoc.ReadElementString();
txtInputFileT.Text = L01;
}
}
【问题讨论】:
-
首先,您发布的 XML sn-p 不完整。
-
@aybe 你能详细说明一下吗?
-
不是“不完整”,而是无效的 XML。
-
@IanKemp 哪一行无效?
-
标签
ArrayOfXMLSaveClass没有结束标签。无论如何,您为什么要自己逐个节点解析xml?为什么不使用linq2Xml或XmlSerializer?