C#读取含有xmlns的XML文件
1 类似xmlns=""的文件
示例XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<WebSrvMessage xmlns="http://www.lenoval.com/">
<version>1.0</version>
<DataContent>
<DateTag>2010-5-17</DateTag>
</DataContent>
</WebSrvMessage>
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
//添加命名空间,前缀可随意命名
nsmgr.AddNamespace("lvl", "http://www.lenoval.com/");
//在路径前面使用前面定义的前缀
XmlNode datatag = doc.DocumentElement.SelectSingleNode("lvl:QryDataContent/lvl:DateTag", nsmgr);
2 类似xmlns:xxxx=""的文件
如:xmlns:lenoval="http://www.lenoval.com/">
可在上面的代码中添加命名空间:
//添加命名空间,前缀可随意命名
nsmgr.AddNamespace("lenoval", "http://www.lenoval.com/");
//在路径前面使用前面定义的前缀
XmlNode datatag = doc.DocumentElement.SelectSingleNode("lenoval:QryDataContent/lenoval:DateTag", nsmgr);
相关文档:
XML 命名空间可提供避免元素命名冲突的方法。
命名冲突
由于 XML 中的元素名是预定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
这个 XML 文档携带着某个表格中的信息:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</ta ......
SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL ......
已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
&nb ......