在C#中 xmldocument xpath 模糊查询 忽略大小写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中 xmldocument xpath 模糊查询 忽略大小写相关的知识,希望对你有一定的参考价值。
如查询
<Books>
<Book>
<Name>Abc</Name>
</Book>
</Books>
在c#中xmldocument.SelectNodes("/Books/Book[contains("Name",'abc')]");
这样能够查询到 Book节点
如何在 c# .net CF 3.5 中使用 XmlDocument 向 xml 添加属性
【中文标题】如何在 c# .net CF 3.5 中使用 XmlDocument 向 xml 添加属性【英文标题】:How to add attributes to xml using XmlDocument in c# .net CF 3.5 【发布时间】:2011-03-25 05:35:56 【问题描述】:我需要为元素“aaa”创建一个带有前缀“xx”的属性“abc”。以下代码添加了前缀,但它也将 namespaceUri 添加到元素。
所需输出:
<mybody>
<aaa xx:abc="ddd"/>
<mybody/>
我的代码:
XmlNode node = doc.SelectSingleNode("//mybody");
XmlElement ele = doc.CreateElement("aaa");
XmlAttribute newAttribute = doc.CreateAttribute("xx","abc",namespace);
newAttribute.Value = "ddd";
ele.Attributes.Append(newAttribute);
node.InsertBefore(ele, node.LastChild);
以上代码生成:
<mybody>
<aaa xx:abc="ddd" xmlns:xx="http://www.w3.org/1999/XSL/Transform"/>
<mybody/>
想要的输出是
<mybody>
<aaa xx:abc="ddd"/>
<mybody/>
并且“xx”属性的声明应该在根节点中完成,如:
<ns:somexml xx:xsi="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://x.y.z.com/Protocol/v1.0">
如果以 deisred 格式获得输出,如何获得?如果 xml 不是这种所需的格式,则无法再对其进行处理..
谁能帮忙?
谢谢, 维姬
【问题讨论】:
【参考方案1】:我相信这只是直接在根节点上设置相关属性的问题。这是一个示例程序:
using System;
using System.Globalization;
using System.Xml;
class Test
static void Main()
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("root");
string ns = "http://sample/namespace";
XmlAttribute nsAttribute = doc.CreateAttribute("xmlns", "xx",
"http://www.w3.org/2000/xmlns/");
nsAttribute.Value = ns;
root.Attributes.Append(nsAttribute);
doc.AppendChild(root);
XmlElement child = doc.CreateElement("child");
root.AppendChild(child);
XmlAttribute newAttribute = doc.CreateAttribute("xx","abc", ns);
newAttribute.Value = "ddd";
child.Attributes.Append(newAttribute);
doc.Save(Console.Out);
输出:
<?xml version="1.0" encoding="ibm850"?>
<root xmlns:xx="http://sample/namespace">
<child xx:abc="ddd" />
</root>
【讨论】:
以上是关于在C#中 xmldocument xpath 模糊查询 忽略大小写的主要内容,如果未能解决你的问题,请参考以下文章
XmlDocument.selectNodes() and selectSingleNode()的xpath的学习资料