如何在XML中按ID获取节点?

开发者

我正在通过ID使用XML创建语言翻译

XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <word id="1">Word1_English</word>
    <word id="2">Word2_English</word>
    <word id="3">Word3_English</word>

    <word id="10001">Word1_French</word>
    <word id="10002">Word2_French</word>
    <word id="10003">Word3_French</word>

    <word id="20001">Word1_Chinese</word>
    <word id="20002">Word2_Chinese</word>
    <word id="20003">Word3_Chinese</word>
</root>

后面的代码:

XmlDocument xmlDocument;
FileInfo fileInfo;
XmlNodeList xmlNodeList;

string xPath = "D:\XML\LanguagePack.xml";
fileInfo = new FileInfo(xPath);
xmlDocument = new XmlDocument();
xmlDocument.Load(fileInfo.FullName);

xmlNodeList = xmlDocument.GetElementById("10001");
return xmlNodeList[0].InnerText; //should return 'Word1_French'

此代码无效,xmlNodeList为空。
如何获得内容Word1_French?

西里尔·甘登

检查有关XmlDocument.GetElementById方法MSDN文档

DOM实现必须具有定义哪些属性为ID类型的信息。尽管可以在XSD架构或DTD中定义类型ID的属性,但是此产品版本仅支持在DTD中定义的属性。除非在DTD中定义,否则名称为“ ID”的属性的类型不是ID未知属性是否为ID类型的实现应返回null。

实际上,您必须修改XML文件以指定“ ID”的含义。如果您不想这样做,请XPath使用select方法

因此,您需要:

string filePath = "D:\\XML\\LanguagePack.xml";
var fileInfo = new FileInfo(filePath);
var xmlDocument = new XmlDocument();
xmlDocument.Load(fileInfo.FullName);

var node = xmlDocument.SelectSingleNode("//*[@id='10001']");
return node.InnerText; // return 'Word1_French'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在XML中按ID获取节点?

来自分类Dev

如何在C#中按属性名称获取XML节点筛选的值?

来自分类Dev

如何在节点Mongodb中按ID删除Json对象?

来自分类Dev

如何在pugixml中获取节点的内部XML?

来自分类Dev

如何在Powershell中获取特定的XML节点

来自分类Dev

如何在groovy中的特定节点下获取xml

来自分类Dev

如何在SQL Server中根据条件获取xml节点

来自分类Dev

如何在 Powershell 中获取 XML 节点属性值?

来自分类Dev

如何在Discordjs 12中按ID获取用户?

来自分类Dev

如何在Watir中按ID获取Span集合

来自分类Dev

如何在Wordpress中按页面标题获取页面ID

来自分类Dev

如何在XSLT中按节点值对XML元素进行分组?

来自分类Dev

如何在C#中按节点属性对XML文件进行排序

来自分类Dev

如何从SQL中的XML获取指定的节点

来自分类Dev

如何使用Java获取XML中的节点?

来自分类Dev

如何在XSLT 1中按三个级别的节点值对XML节点进行分组?

来自分类Dev

如何在jqgrid中按行数据获取行ID(不是按选定行)

来自分类Dev

如何在omnet ++中获取模型的节点?

来自分类Dev

如何在Angular中获取父节点

来自分类Dev

如何在Haxe中删除Xml节点

来自分类Dev

如何在xml中读取子节点

来自分类Dev

如何在Magento中按订单ID获取装运增量ID

来自分类Dev

如何在AngularJS中按ID获取元素以动态生成ID?

来自分类Dev

如何在Magento中按订单ID获取装运增量ID

来自分类Dev

如何在IE8中获取XML节点的文本值?

来自分类Dev

如何在 Firebase for Android 中获取根节点的子节点

来自分类Dev

如何在android中从Firebase获取子节点的子节点?

来自分类Dev

如何在Android的Youtube API V3中按频道ID获取Youtube实时流?

来自分类Dev

如何在Selenium中按类获取某个div的ID和输入元素的类

Related 相关文章

  1. 1

    如何在XML中按ID获取节点?

  2. 2

    如何在C#中按属性名称获取XML节点筛选的值?

  3. 3

    如何在节点Mongodb中按ID删除Json对象?

  4. 4

    如何在pugixml中获取节点的内部XML?

  5. 5

    如何在Powershell中获取特定的XML节点

  6. 6

    如何在groovy中的特定节点下获取xml

  7. 7

    如何在SQL Server中根据条件获取xml节点

  8. 8

    如何在 Powershell 中获取 XML 节点属性值?

  9. 9

    如何在Discordjs 12中按ID获取用户?

  10. 10

    如何在Watir中按ID获取Span集合

  11. 11

    如何在Wordpress中按页面标题获取页面ID

  12. 12

    如何在XSLT中按节点值对XML元素进行分组?

  13. 13

    如何在C#中按节点属性对XML文件进行排序

  14. 14

    如何从SQL中的XML获取指定的节点

  15. 15

    如何使用Java获取XML中的节点?

  16. 16

    如何在XSLT 1中按三个级别的节点值对XML节点进行分组?

  17. 17

    如何在jqgrid中按行数据获取行ID(不是按选定行)

  18. 18

    如何在omnet ++中获取模型的节点?

  19. 19

    如何在Angular中获取父节点

  20. 20

    如何在Haxe中删除Xml节点

  21. 21

    如何在xml中读取子节点

  22. 22

    如何在Magento中按订单ID获取装运增量ID

  23. 23

    如何在AngularJS中按ID获取元素以动态生成ID?

  24. 24

    如何在Magento中按订单ID获取装运增量ID

  25. 25

    如何在IE8中获取XML节点的文本值?

  26. 26

    如何在 Firebase for Android 中获取根节点的子节点

  27. 27

    如何在android中从Firebase获取子节点的子节点?

  28. 28

    如何在Android的Youtube API V3中按频道ID获取Youtube实时流?

  29. 29

    如何在Selenium中按类获取某个div的ID和输入元素的类

热门标签

归档