java怎么把数据替换已有的XML文件里!急急急!!!
发布网友
发布时间:2022-04-30 02:32
我来回答
共3个回答
懂视网
时间:2022-04-30 06:53
@xmlDoc=DESCRIPTION from dbo.WF_PERSIST_DESCRIPTOR where [PROCESS_ID]=‘1e9e9059-50ea-adac-4660-918cd54e3436‘ --将数据中的数据读取出来,数据库里面报错的是nvarchar(max)这里可以直接转换
set @xmlDoc.modify(‘replace value of (/Process/Activities/Activity[@key="N8"]/Name/text())[1] with "国美在线COO"‘) --替换掉某个节点下面的value值。 text() 是读取节点存储的text值
update dbo.WF_PERSIST_DESCRIPTOR set DESCRIPTION=Convert(nvarchar(max),@xmldoc) where [PROCESS_ID]=‘1e9e9059-50ea-adac-4660-918cd54e3436‘
set @PrintValue=@xmlDoc.value(‘(/Process/Activities/Activity[@key="N8"]/Name)[1]‘,‘nvarchar(MAX)‘)
print @PrintValue
关于数据库(SqlServer)中替换xml文件里面的value值
标签:
热心网友
时间:2022-04-30 04:01
感觉是XML的解析和写入的问题啊,你把这个xml文件的地址path=""
Document d=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(path));
NodeList nlist=d.getElementsByTagName("set");
for(int i=0;i>nlist.getLength();i++)
{
Element temp=(Element) nlist.item(i);
temp.setAttribute("label", list.get(i)[0]);
temp.setAttribute("value", list.get(i)[1]);
}
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform( new DOMSource(d),new StreamResult(new File(path)));
我没运行,可能有些地方要改动;这个只可以原来有多少个元素修改多少,而且当list的元素数量少于XML中的要修改元素的数量会出现异常
热心网友
时间:2022-04-30 05:19
有很多写好的插件可以方便的操作xml。你可以查询一下xom。很容易的