【发布时间】:2023-03-17 15:12:01
【问题描述】:
XMLNode 中的OuterXML 在下方
<d:entry id="_6" d:title="آ" xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng"><d:index d:value="آ" d:title="آ" /><h1 xmlns="http://www.w3.org/1999/xhtml">آ</h1><font color="#007000" xmlns="http://www.w3.org/1999/xhtml">interjection</font><br xmlns="http://www.w3.org/1999/xhtml" />
O, oh! (vocative particle)
</d:entry>
我正在尝试这样选择,但它失败了。我能够读取属性和其他节点
var vr_Word_Type = vrNode.SelectSingleNode(".//font", nsmgr);
var vr_Word_Type2 = vrNode.SelectSingleNode(".//font");
这是我的完整代码
XmlDocument rssDoc = new XmlDocument();
rssDoc.Load(@"D:\my.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(rssDoc.NameTable);
nsmgr.AddNamespace("d", "http://www.apple.com/DTDs/DictionaryService-1.0.rng");
XmlNodeList rssItems = rssDoc.SelectNodes("//d:entry", nsmgr);
foreach (XmlNode vrNode in rssItems)
{
string srTitle = vrNode.Attributes["d:title"]?.Value;
var vrSubNodes = vrNode.SelectNodes(".//d:index", nsmgr);
List<string> lstIndex_Values = new List<string>();
foreach (XmlNode vrD_Val in vrSubNodes)
{
lstIndex_Values.Add(vrD_Val.Attributes["d:value"]?.Value);
}
var vr_Word_Type = vrNode.SelectSingleNode(".//font", nsmgr);
var vr_Word_Type2 = vrNode.SelectSingleNode(".//font");
}
【问题讨论】:
标签: c# .net xml xml-namespaces .net-4.6.2