xml文件中的xmlns处理
来源:互联网 发布:汪正扬看的编程书 编辑:程序博客网 时间:2024/04/27 00:31
在XML文件中的命名空间真的让人烦,因为在读取节点时采用SelectSingleNode方法直接读取会返回一个null。
看了网上很多文章,基本都是要求添加一个XmlNamespaceManager,然后在SelectSingleNode方法中加入该XmlNamespaceManager。
但我按照这个方法操作了,结果还是不行,不知道是我的问题,还是网友写错了,又或者是C#同.NET的差异(我用的是ASP.NET)。过程真的是煞费苦心。。。郁闷的够呛。
后面又看了下相关的网络文件,并实验后,发现除了以上操作外,还必须在XPATH的每个路径节点前添加命名空间,真的是很繁琐啊。具体示例如下:
1。原始XML文件:test3.xml
<TableCell xmlns="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<ReportItems>
<Textbox Name="textbox5">
<Style>
<FontFamily>aa</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>1</ZIndex>
<CanGrow>true</CanGrow>
<Value />
</Textbox>
</ReportItems>
</TableCell>
2.检索节点的处理程序示例:
XmlDocument sourceDoc = new XmlDocument();
string path = Server.MapPath("test3.xml");
sourceDoc.Load(path);
XmlNamespaceManager xmlman = new XmlNamespaceManager(sourceDoc.NameTable);
xmlman.AddNamespace("ns", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner");
XmlNode style = sourceDoc.SelectSingleNode("/ns:TableCell/ns:ReportItems/ns:Textbox/ns:Style", xmlman);
for (int i = 0; i < style.ChildNodes.Count; i++)
{
XmlNode value = style.ChildNodes[i];//SelectSingleNode("ReportItems/Textbox/Value",xmlman);
value.InnerText = "新内容";
}
sourceDoc.Save(Server.MapPath("bb.xml"));
另外,如果XML文件结构固定,也可以用如下方法获取节点,省了命名空间的问题:
XmlNode style = sourceDoc.ChildNodes[0].ChildNodes[0].ChildNodes[0];
不知道各位朋友对于ASP.NET下的带XMLNS的XML文件处理有什么好的方法。
- xml文件中的xmlns处理
- xml文件中,<beans >中的xmlns,xmlns:xsi,xmlns:context,等等
- 有关xml中的xmlns
- 有关xml中的xmlns
- 有关xml中的xmlns
- xml中的xmlns
- 有关xml中的xmlns
- xml中的xmlns,xmlns:xsi,xsi:schemaLocation
- xml文件开始部分中的xmlns:和xsi:schemaLocation
- xml文件开始部分中的xmlns:和xsi:schemaLocation
- 关于spring xml文件中的xmlns,xsi:schemaLocation
- xml文件中xmlns含义
- 我来说说XML文件中的xmlns、xmlns:xsi和xsi:schemaLocation、dtd文件的具体含义
- MXML 文件中的xmlns是什么意思?
- XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation理解
- XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation
- xml文件中 xmlns xmlns:xsi 等解释
- Spring配置文件(xml)中的xmlns解析
- C语言字符char和整型int的关系
- 【CXY】JAVA基础 之 异常追踪栈
- 获取图片做桌面壁纸
- 00007-----连接mini2440开发板FTP
- android中的手势探测
- xml文件中的xmlns处理
- 如何拥有属于自己的公司
- 排序算法
- Android Service和Activity基于串口蓝牙模块的双向通信
- 重叠I/O模型的概念
- 编程之美-二分查找练习题
- 三叶草
- 内网ip端口映射外网ip+端口
- 4.重载,重写