读书人

查找,修改xml节点的属性解决办法

发布时间: 2012-01-20 18:53:53 作者: rapoo

查找,修改xml节点的属性
<?xml version= "1.0 " encoding= "utf-8 "?>
<sqlMapConfig xmlns= "http://ibatis.apache.org/dataMapper " xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance " >

<properties url= "F:\Crm\Crm\bin\database.config "/>

<settings>
<setting useStatementNamespaces= "${useStatementNamespaces} "/>
<setting cacheModelsEnabled= "true "/>
<setting validateSqlMap= "false "/>
</settings>

<providers embedded= "providers.config,Crm "/>

<database>
<provider name= "sqlServer2.0 "/>
<dataSource name= "iBatisNet " connectionString= "data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=1; max pool size=50 "/>
</database>

<sqlMaps>
<sqlMap embedded= "Map.SqlClient.BUAction.xml,Crm "/>
<sqlMap embedded= "Map.SqlClient.BUActionSub.xml,Crm "/>

</sqlMaps>
</sqlMapConfig>

要求找到 properties 节点.并把url的值改成 "E:\CRM "


[解决办法]
Xmldocument doc = new Xmldocument();
doc.Load(@ "e:\1.xml ");

XmlElement node = (XmlElement)doc.SelectSingleNode( "//properties ");
node.SetAttribute( "url ", @ "E:\CRM ");

doc.Save(@ "e:\1.xml ");
[解决办法]
参考 创建、查询、修改带名称空间的 XML 文件的例子
http://dotnet.aspx.cc/article/7b4c7a42-4cdf-40d1-b293-e86da109a34c/read.aspx

找到属性节点都设置即可

XmlNode xx = doc.SelectSingleNode( "//xxx名称空间:properties/@url ",nsmanager)
xx.value= "E:\\CRM "

[解决办法]
硬编码

doc.ChildNodes[1].FirstChild.SetAttribute( "url ", @ "E:\CRM ");

读书人网 >C#

热点推荐