Chúng tôi cần xem xml; @Lee cho cách tiếp cận đúng ở đây, vì vậy cái gì đó như:
var el = rootElRecDocXml.SelectSingleNode(
"/ArrayOfRecentFiles/RecentFile[text()='"+mFilePath+"']");
(dùng chỉnh sửa của bạn/reply vào tài khoản)
Tuy nhiên! Có rất nhiều gotchas:
- truy vấn sẽ là trường hợp nhạy cảm
- trắng-không gian sẽ là đáng kể (vì vậy
<foo>abc</foo>
là khác nhau để <foo> abc[newline]</foo>
vv - nt carriage return)
- namespace xml là đáng kể, vì vậy bạn có thể cần
.SelectSingleNode("/alias:ArrayOfRecentFiles[text()='"+mFilePath+"']", nsmgr);
, nơi nsmgr
là namespace-manager
Để cung cấp một ví dụ hoàn chỉnh, phù hợp với nhận xét của bạn:
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 + "']");
Ở đây, el
là khôngnull
sau SelectSingleNode
gọi. Nó tìm thấy nút.
Nguồn
2010-07-12 09:02:06
ở trên là xml tôi – PUG
đây là xml của tôi: C: \ asd \ 1 \ ví dụ \ 8389.atc C: \ asd \ 1 \ ví dụ \ 8385.atc \t ArrayOfRecentFiles> –
PUG
@jaminator - xem cập nhật –