XmlDocument.SelectNodes 不起作用

这篇具有很好参考价值的文章主要介绍了XmlDocument.SelectNodes 不起作用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天采用Xpath读取Xml节点,怎么都读不出。

问题分析:

错误代码如下:

      XmlDocument xmlD = new XmlDocument();
      xmlD.PreserveWhitespace = true;
      xmlD.LoadXml(xStr);
      xmlD.SelectNodes(@"job-scheduling-data/schedule/job");

经排查 dotnet 文档,发现代码编写没有问题。文档描述如下:
XmlDocument.SelectNodes 不起作用,C#后端代码记录,c#,xml

文档示例如下:
示例代码:

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {

      XmlDocument doc = new XmlDocument();
      doc.Load("booksort.xml");

      //Create an XmlNamespaceManager for resolving namespaces.
      XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
      nsmgr.AddNamespace("bk", "urn:samples");

      //Select and display the value of all the ISBN attributes.
      XmlNodeList nodeList;
      XmlElement root = doc.DocumentElement;
      nodeList = root.SelectNodes("/bookstore/book/@bk:ISBN", nsmgr);
      foreach (XmlNode isbn in nodeList){
        Console.WriteLine(isbn.Value);
      }
   }
}

示例XML:

<?xml version="1.0"?>
<!-- A fragment of a book store inventory database -->
<bookstore xmlns:bk="urn:samples">
  <book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8">
    <title>Pride And Prejudice</title>
    <author>
      <first-name>Jane</first-name>
      <last-name>Austen</last-name>
    </author>
    <price>24.95</price>
  </book>
  <book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">
    <title>The Handmaid's Tale</title>
    <author>
      <first-name>Margaret</first-name>
      <last-name>Atwood</last-name>
    </author>
    <price>29.95</price>
  </book>
  <book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">
    <title>Emma</title>
    <author>
      <first-name>Jane</first-name>
      <last-name>Austen</last-name>
    </author>
    <price>19.95</price>
  </book>
  <book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">
    <title>Sense and Sensibility</title>
    <author>
      <first-name>Jane</first-name>
      <last-name>Austen</last-name>
    </author>
    <price>19.95</price>
  </book>
</bookstore>

自己程序采用Xml:
XmlDocument.SelectNodes 不起作用,C#后端代码记录,c#,xml文章来源地址https://www.toymoban.com/news/detail-691316.html

结论:问题原因:最后用文档示例与自己代码比较发现上命名空间导致**

修改后正确代码

     string xStr = File.ReadAllText(path.Trim());
                xStr = xStr.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", "");
                xStr = xStr.Replace("xmlns=\"http://quartznet.sourceforge.net/JobSchedulingData\"", "");
                xStr = xStr.Replace("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"", "");
                XmlDocument xmlD = new XmlDocument();
                xmlD.PreserveWhitespace = true;
                xmlD.LoadXml(xStr);
                XmlNodeList jobNodeList = xmlD.SelectNodes(@"job-scheduling-data/schedule/job");

到了这里,关于XmlDocument.SelectNodes 不起作用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • github中.gitignore不起作用啦

    提示:人不是靠讲话来生活。每个人都应该靠行动。而行动,是需要时间来证明的。 --《自在独行》 (.gitignore中已经表标明忽略的文件目录下的文件了,所有git push 的时候还是出现在push的目录中,或者使用git status 查看状态,看看想要被忽略的文件是否是显示被跟踪状态) 重

    2024年02月06日
    浏览(26)
  • css中calc不生效(不起作用)

    css中calc属性不起作用 1、格式错误 calc属性作用不起作用是因为书写格式错误,正确的格式需要在运算符的两边留有空格。 2、父元素需要设置高度或者宽度,不能用100%。 scss、less函数不生效 如果还解决不了,请留言 。 Up高频在线

    2024年02月13日
    浏览(29)
  • vscode安装中文插件后不起作用

    安装中文插件后,中文并没有如期出现或者偶尔会自动变成英文 方法一: 点击 Uninstall ,重新安装,再重启vscode 方法二: 在vscode中,按住 ctr+shift+p ,在出现的输入框中,输入 Configure Display Language ,在弹出的语言中,选中zh-cn,软件弹出提示。点击重启(Restart)按钮后,中文即可生

    2024年02月07日
    浏览(45)
  • git的.gitignore文件更新后不起作用

    首先,让我们回顾一下 .gitignore 文件的作用。 .gitignore 文件用于指定哪些文件或目录应该被Git忽略,即这些文件和目录不会被添加到版本控制中。它使用简单的模式匹配规则来定义要忽略的文件或目录。 下面是一些可能导致 .gitignore 文件不起作用的原因: 如果您在 .gitignor

    2024年02月13日
    浏览(30)
  • 使用动态sql时,if标签不起作用

    目录 场景: 问题分析: 问题解决: 简单讲一下应用场景 我拿到一个项目,完成后端数据处理,在进行可选条件查询时,使用动态sql  在mapper.xml中我先是这么写的  然后,就出现if标签失效的情况,关键是它有时候也会返回到前端数据,给我都搞蒙了 反复查看,加上网搜索

    2024年01月23日
    浏览(30)
  • unity 预制文本\n换行不起作用

    问题:预制体的文本在Inspector直接用n换行不生效 原因:因为unity会默认把n替换成\\\\n         预制体文本用换行符直接换好,如果要用代码替换换行,使用n换行没有生效。         需要把\\\\n替换成n,以下是我写的一个替换工具

    2024年02月11日
    浏览(30)
  • 小程序页面传递布尔值不起作用的解决方法

    传参: 以下方式使用时不起作用或出现问题: 这种方式传参后isprincipal的值已为字符串‘true’。 需改成如下形式:

    2024年02月14日
    浏览(31)
  • 解决在Android Studio中Lombok不起作用的问题

    笔者报错时的运行环境: Android Studio Flamingo | 2022.2.1 RC 1 Gradle 8.0.1 Lombok 1.18.26 JDK 17 Lombok 插件 0.34-2020.2 笔者在刚安装完的 Android Studio 中使用 Lombok 时,发现 Lombok 不起作用。具体遇到的问题有两个: Lombok 的注解在 Android Studio 中报红。 本来应该由 Lombok 生成的方法在 Android S

    2024年02月16日
    浏览(32)
  • Windows 电源计划设置关闭显示器不起作用的解决方法

    在Windows 电源选项设置电源计划的“ 关闭显示器 ”触发时间后,发现 到达指定无操作时间后并不生效 。这可能是Windows系统不稳定缺陷导致。下面介绍解决方法: 1. 打开“注册表编辑器” (运行regedit.exe或搜索注册表编辑器)。 2. 定位到 计算机HKEY_LOCAL_MACHINESYSTEMCurrentC

    2024年02月09日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包