xml文档中的超链接a时,如何使我的Xpath选择工作?

时间:2019-05-13 19:32:16

标签: c# xml xpath

仅当我删除此超链接时:xmlns =“ http://www.w3.org/2001/10/synthesis” 从Xml文件的顶部开始,我的Xpath选择是否起作用。 当我放回namespace-hyperlink时,超链接会阻止我的Xpath选择更改节点属性值。

我曾尝试更改我的xPath方法,使用正斜杠, 然后两个,按名称选择节点,但是除非删除超链接,否则我无法使任何xpath选择起作用。然后这个xPath可以正常工作   StrXpath =“ // prosody /” +“ @contour”;

我查看了其他人已回答的类似问题和答案。但是都不太合适。

<?xml version="1.0"?>
 <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" 
  xml:lang="en-ES">
  <voice age="69" gender="neutral"> 
 <prosody 
      rate="fast" 
      contour='(0%,+80Hz) (10%,+80%) (40%,+80Hz)'>
      <p>
        <s>Morning Mind Mold</s>
        <voice gender="female">
          <s>Getting Started is hard, Every Day.</s>
        </voice>
      </p>
   </prosody>
  </voice>
</speak>

C#代码:

List<String> lstNodeAttributeValue = new List<String>();
     lstNodeAttributeValue.Add(this.Model.IntPropDP_ProsodyContour.ToString());

 StrXpath = "//prosody/" + "@contour";

XmlNodeList xmlNodesListAttributes = doc.SelectNodes(StrXpath);

                    for (uint index = 0; index < xmlNodesListAttributes.Length; index++)
                    {
                        xmlNodesListAttributes
                                   .Item(
                                            index
                                        )
                                   .NodeValue = item;
                        Debug.WriteLine($"\nitem:\t{item}");
                    }

预先感谢, 亚当

我希望有人会告诉我为什么命名空间超链接会阻止我的xpath选择,

和实际结果,一些代码可以解决超链接,而不必在选择xpath之前将其删除,然后在之后进行替换。

0 个答案:

没有答案