不接受子节点
本文关键字:子节点 不接受 | 更新日期: 2023-09-27 18:37:19
我正在用C#编写一个程序,该程序将从服务器获取数据,将其写入文件,然后读取文件以获取包含的数据。最后一部分是问题。我得到了我的 XML 文件流,XML 文件似乎很好,但除了根节点之外,我的程序不接受任何子节点,即使在列表中它计算了所有 700 个子节点。正在检查我的拼写,地址,树...到目前为止没有任何效果。
XML 数据:
<?xml version="1.0" encoding="UTF-8"?>
<uniprot xmlns="http://uniprot.org/uniprot" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://uniprot.org/uniprot http://www.uniprot.org/support/docs/uniprot.xsd">
<entry dataset="Swiss-Prot" created="2005-03-01" modified="2013-10-16" version="51">
<accession>P69430</accession>
<accession>O65938</accession>
<accession>P27856</accession>
<name>TATA_ECO57</name>
<protein>
<recommendedName>
<fullName>Sec-independent protein translocase protein TatA</fullName>
</recommendedName>
</protein>
程序:
Datapath = startupPath + "''" + Data[0, 0] + ".xml";
XmlDocument XMLdoc = new XmlDocument();
XMLdoc.Load(Datapath);
XmlNodeList xnList = XMLdoc.SelectNodes("//*"); //the list shows all 700 entries so the path etc are correct
var node = XMLdoc.SelectSingleNode("uniprot/entry/protein/recommendedName/fullName").InnerText;
一旦我尝试从 uniprot 解决任何子节点,它只是空,这让我发疯。有人可以帮忙吗?
您是否尝试过使用命名空间?
XmlDocument doc = new XmlDocument();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("ns", "http://uniprot.org/uniprot");
var node = doc.SelectSingleNode("//ns:exampleNode", nsmgr);
试试这个:XmlNode node = doc。SelectSingleNode("//uniprot//entry/protein/recommendedName/fullName"); 节点。InnerXml;