我试图在内部文本的基础上从文件的根元素搜索xml元素.我试过这个,但没有工作:
rootElRecDocXml.SelectSingleNode("/ArrayOfRecentFiles[name='"+mFilePath+"']");
Run Code Online (Sandbox Code Playgroud)
我知道旧学校的方式逐个遍历所有文件,但我不想这样做.
请注意:我的根元素名称是ArrayOfRecentFiles,我的子元素名称是RecentFile
我们需要看xml; @Lee在这里提供了正确的方法,所以类似于:
var el = rootElRecDocXml.SelectSingleNode(
"/ArrayOfRecentFiles/RecentFile[text()='"+mFilePath+"']");
Run Code Online (Sandbox Code Playgroud)
(将您的编辑/回复记入帐户)
然而!有很多陷阱:
<foo>abc</foo>是不同的<foo> abc[newline]</foo>等 - 同样回车).SelectSingleNode("/alias:ArrayOfRecentFiles[text()='"+mFilePath+"']", nsmgr);,nsmgr命名空间管理器在哪里为了给出一个与您的评论相符的完整示例:
XmlDocument rootElRecDocXml = new XmlDocument();
rootElRecDocXml.LoadXml(@"<ArrayOfRecentFiles> <RecentFile>C:\asd\1\Examples\8389.atc</RecentFile> <RecentFile>C:\asd\1\Examples\8385.atc</RecentFile> </ArrayOfRecentFiles>");
string mFilePath = @"C:\asd\1\Examples\8385.atc";
var el = rootElRecDocXml.SelectSingleNode(
"/ArrayOfRecentFiles/RecentFile[text()='" + mFilePath + "']");
Run Code Online (Sandbox Code Playgroud)
这里,el是不是 null后SelectSingleNode调用.它找到了节点.
| 归档时间: |
|
| 查看次数: |
14895 次 |
| 最近记录: |