gpt4 book ai didi

c# - Xpath 命名空间解析

转载 作者:行者123 更新时间:2023-12-03 17:26:32 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





XPath select node with namespace

(6 个回答)



How does XPath deal with XML namespaces?

(2 个回答)


5年前关闭。




我尝试解析这样的xml:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("file.xml");
XmlNode jobNode = xmlDoc.SelectSingleNode("//job-data/schedule/job");

我尝试解析这个xml:
<?xml version="1.0" encoding="utf-8" ?>
<job-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.0">
<schedule>
<job>
<name>ExampleJob</name>
</job>
</schedule>
</job-data>

但我的 jobNode 总是为空。
如果我将我的 xml 更改为此它可以工作:
<?xml version="1.0" encoding="utf-8" ?>
<job-data>
<schedule>
<job>
<name>ExampleJob</name>
</job>
</schedule>
</job-data>

最佳答案

你应该使用这样的东西:

XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDoc.NameTable);
nsmgr.AddNamespace("ns", "http://quartznet.sourceforge.net/JobSchedulingData");

XmlNode jobNode = xmlDoc.SelectSingleNode("//ns:job-data/ns:schedule/ns:job");

关于c# - Xpath 命名空间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42915245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com