说我有以下XPath
var xPath = "/TransactionValues/Entities/Entity/Phones/Phone";
是否有.NET C#类允许我解析此XPath字符串,并检索最后一个元素名称(“Phone”)?
我试过了:
var elementName = xPath.Remove(0, xPath.LastIndexOf("/") + 1);
但是如果xPath是这样的:
var xPath = "/Transactionvalues/Entities/Entity/Phones/Phone/( normalize-space( concat( '(', AreaCode, ')-', First3Phone, '-', Last4Phone ) ) )"
我将“{1}}作为”元素名称“
返回我仍在尝试从此XPath获取“Phone”元素的原因是因为我正在尝试替换整个“Phone”元素,其中包含“AreaCode”,“First3Phone”和“Last4Phone”其中的元素,"( normalize-space( concat( '(', AreaCode, ')-', First3Phone, '-', Last4Phone ) ) )"
将连接以返回表示电话号码的单个值,当XPath用于检索它所代表的值时。
( normalize-space...
我正在尝试替换整个Phone元素,但是我对Phone元素的唯一指针在它的末尾有这个额外的字符串concat和空间规范化函数,我正试图找到一种方法来检索“最后一个节点”或在这种情况下你实际称之为的任何东西。
答案 0 :(得分:0)
我最终弄清楚实际问题是我们错过了<Phone>...</Phone>
元素的内部元素。
xpath没有告诉我们在哪里放置我们的新值,它告诉我们它试图检索它们的位置,当这些元素不存在时,它抱怨它无法获得值。