首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML文档处理无法加载文件

XML文档处理无法加载文件
EN

Stack Overflow用户
提问于 2012-07-27 17:16:39
回答 3查看 264关注 0票数 0

我正在编写一个应用程序,其中需要从XML文档中提取信息。

我的XML文档存储在我的项目bin/ Debug文件中。

我不能让它工作。

名为informationData的XML文档:

代码语言:javascript
复制
<xml>
<information>
<name >stian</name>
<surname>Kruger</surname>
<tel>0825514302</tel>
<photo>1234JLJ.jpg</photo>
</information>
</xml>

我的呼叫码:

代码语言:javascript
复制
private void btnReadXML_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("informationData.xml");

            XmlNodeList dataNodes = xmlDoc.SelectNodes("/information");

            foreach (XmlNode node in dataNodes)
            {
                Name = node.SelectSingleNode("name").InnerText;
                Surname = node.SelectSingleNode("surname").InnerText;
                TelNumber = Convert.ToInt32(node.SelectSingleNode("tel").InnerText);

            }
        }
EN

回答 3

Stack Overflow用户

发布于 2012-07-27 17:23:00

您的XPath选择器错误。替换:

代码语言:javascript
复制
XmlNodeList dataNodes = xmlDoc.SelectNodes("/information");

通过以下方式:

代码语言:javascript
复制
XmlNodeList dataNodes = xmlDoc.SelectNodes("//information");

或通过以下方式:

代码语言:javascript
复制
XmlNodeList dataNodes = xmlDoc.DocumentElement.SelectNodes("information");

还要确保XML文件与正在运行的可执行文件(您说的是bin/Debug/informationData.xml)位于同一文件夹中。如果XML文件是您的Visual Studio项目的一部分,您可以选择它,并在属性中将Copy to Output Directory设置为Copy if newer。这样,每次编译项目时,VS都会自动将XML文件复制到此输出文件夹中。

票数 5
EN

Stack Overflow用户

发布于 2012-07-27 17:19:06

您可以使用以下代码

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?> 
<information>
 <name >stian</name>
 <surname>Kruger</surname>
 <tel>0825514302</tel>
 <photo>1234JLJ.jpg</photo>
</information>


 var xmlDoc = XDocument.Load("informationData.xml");
 var name = xmlDoc.Element("name").Value;
 var surname = xmlDoc.Element("surname").Value;
 var telNumber = Convert.ToInt32(xmlDoc.Element("tel").Value);
票数 0
EN

Stack Overflow用户

发布于 2012-07-27 17:22:17

<?xml version="1.0" encoding="utf-8"?>添加为XML文件中的第一行

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11684875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档