gpt4 book ai didi

c# - 具有命名空间时使用 xpath 从 XML 获取值

转载 作者:数据小太阳 更新时间:2023-10-29 02:24:19 24 4
gpt4 key购买 nike

我是 xpath 匹配的新手。这里我有一个将 XML 包含作为字符串传递的方法。我将其转换为 XmlDocument。

public static void getProjectDataInfo(string content) {

XmlDocument doc = new XmlDocument();
doc.LoadXml(content);
}

这是我的 XML。它有 xmlns:my

<?xml version="1.0" encoding="UTF-8"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-03T16:54:46" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-us">
<my:Financial>
<my:Quote>
<my:CHARGE_TYPE>MRC</my:CHARGE_TYPE>
<my:Price>463.92</my:Price>
</my:Quote>
</my:Financial>
</my:myField>

我只想获取值

/my:myFields/my:Financial/my:Quote/my:Price

但是我无法获取值,因此此 XML 具有 xmlns。

请帮帮我。

最佳答案

使用XmlNamespaceManager

XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("ns", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-03T16:54:46");

var str = doc.XPathSelectElement("/root/ns:myFields/ns:Financial/ns:Quote/ns:Price", nsmgr)
.ToString(SaveOptions.DisableFormatting);
Console.WriteLine(str);

关于c# - 具有命名空间时使用 xpath 从 XML 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486999/

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