谁能帮我根据下面这个XML文档 中的 name属性 查找 和修改 value 的值 ?写个java类 查找 修改
发布网友
发布时间:2022-04-08 01:34
我来回答
共3个回答
懂视网
时间:2022-04-08 05:55
@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-08 03:03
先创建一个 xml 文件,我暂将它取名为:prop.xml,一个解析这个 xml 资源文件的类,
取名为 XmlDom.java,和一个测试类,取名 Test.java。废话少说,看代码:
prop.xml
<?xml version="1.0" encoding="UTF-8"?>
<prop>
<mess>
<property name="sSize" value="52"></property>
<property name="cSize" value="23"></property>
<property name="pSize" value="15"></property>
<property name="aSize" value="25"></property>
</mess>
</prop>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
XmlDom.java
package com.fancy.util;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/**
* -----------------------------------------
* @文件: XmlDom.java
* @作者: fancy
* @邮箱: fancyz@yeah.net
* @时间: 2012-6-9
* @描述: JDOM 解析XML资源
* -----------------------------------------
*/
public class XmlDom {
/**
* @方法名: obtainValue
* @参数名:@param name:属性名
* @参数名:@return :返回与属性名一致的属性值
* @描述语: 解析XML数据,返回与属性名一致的属性值,查找不到匹配属性名则返回null
*/
public static String obtainValue(String name){
try {
//载入资源
SAXBuilder saxBuilder = new SAXBuilder();
Document doc = saxBuilder.build("prop.xml");
//获取根元素(prop)
Element root = doc.getRootElement();
//获取根元素下面的所有子元素(mess)
List<Element> messList = root.getChildren("mess");
//子根元素(mess)
Element childrenRoot = null;
//property元素集合
List<Element> propertyList = null;
//遍历根元素的子元素集合(即遍历mess元素)
for(int i = 0; i < messList.size(); i++){
//将根元素prop下的mess子元素作为一个新的子根元素
childrenRoot = messList.get(i);
//获取子根元素mess下的所有property子元素
propertyList = childrenRoot.getChildren("property");
//遍历子根元素的子元素集合(即遍历property元素)
for(int j = 0; j < propertyList.size(); j++){
//获取property元素
Element element = propertyList.get(j);
//element.getAttributeValue("name"):获取property中name属性的值
if(element.getAttributeValue("name").equals(name)){//如果name的值一致
return element.getAttributeValue("value");//取得name对应的value属性值
}
}
}
//遍历完没有查找到结果返回null
return null;
} catch (Exception e) {e.printStackTrace();}
return null;
}
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Test.java
package test;
import com.fancy.util.XmlDom;
/**
* -----------------------------------------
* @文件: Test.java
* @作者: fancy
* @邮箱: fancyz@yeah.net
* @时间: 2012-6-9
* @描述: 测试类
* -----------------------------------------
*/
public class Test {
public static void main(String[] args) {
System.out.println(XmlDom.obtainValue("pSize"));
System.out.println(XmlDom.obtainValue("PSize"));
}
}
测试输出:
15
null
PS个人看法:XML这种格式的数据主要是用来解析用的吧,就我目前接触过的都是解析,没有做过修改,这里就不尝试,坐观答案哈^_^
代码都注释的尽可能详细了,就不多解释了...
热心网友
时间:2022-04-08 04:21
使用Dom4j-1.6.1.jar这个jar包来读取,获取根节点下所有的子节点,比如获取prop了,然后得到mess节点,在获取mess节点的子节点,有4个子节点,循环,依次获得property节点的name属性,value属性,组装成map类型,name是key值,value是内容,之后你就操作这个map,修改name对应的value值,保存时,你拿这map的key值与xml的name值比较,符合就更新。
如果有不懂的,再联系我。
谁能帮我根据下面这个XML文档 中的 name属性 查找 和修改 value 的值...
先创建一个 xml 文件,我暂将它取名为:prop.xml,一个解析这个 xml 资源文件的类,取名为 XmlDom.java,和一个测试类,取名 Test.java。废话少说,看代码:prop.xml <?xml version="1.0" encoding="UTF-8"?> <prop> <mess> <property name="sSize" value="52"></property> <property n...
我有这样一个xml,我只想单独读取host值,用java要怎么写?请写出具体代码...
int p2=xml.indexOf("</host>");String host = xml.substring(p1, p2);
dom4j简单学习 element和node的区别
基中@name是property的属性名valueOf是拿出name的值;需要加入DOM4J里面的jaxen包 8、 DOM4J的生成xml文件 9、 用FileWriter生成xml文件的时候,可能没有格式,可以用XMLWriter类,这样自动进行美化。10、 DOM4J修改xml文件;很少用。11、 自动生成代码往往用的是:freemarker或velocity,这是常用的。...
js怎么获取xml里某个节点的值并输出
实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。 //pId 待取节点父节点序号 //cId 待取节点序号 function getXmlNodeValue(pId, cId) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDo...
...鼠标移动到菜单的一项上,向下弹出子菜单。这个效果的xml怎么...
(8) 再次单击Menu控件,然后用【属性】窗口对控件的属性作下列修改,如表7-5所示。表7-5 Menu控件属性的设置特 性值StaticEnableDefaultPopOutImage FalseOrientation HorizontalItemSpacing(需要展开的StaticMenuItemStyle的子特性) 10px(9) 按Ctrl+F5键,在浏览器中打开页面。当把鼠标放在【计算机类】主菜单时,会...
标签中的escapeXml是什么意思?
标签中有一个escapeXml属性,其默认值为true,意思是是否过滤为xml文档。1. 如果为escapeXml="false",则将其中的html、xml解析出来。如value="java",会显示为大小为16的”java“。2. 如果为escapeXml="true",则显示java在项目中有时需要在后台将字符串拼接,然后传到前台显示。当在后台拼接的时候比...
MyBatis中使用Java类与枚举
className@method(args)是调用类的静态方法,@className@field是调用类的静态属性 枚举使用的就是@枚举类@枚举值.value 3.3小坑有一种特殊情况,枚举是内部类,例如Gender在UserEntity中:publicclassUserEntity{privateStringid;privateGendergender;publicenumGenderimplementsValueNameEnum{//...枚举代码}}这种...
在java bean中如何写 get 和set方法啊 就是这两种类型。还有就是在s...
java bean就是把自己的数据成员封装起来, 让外界不能直接操作数据成员; 而只能通过bean提供的get 和 set方法进行操作,保证了数据安全性。可以理解为:get就是把对象中的值拿出来, set就是把某个值放到对象中去。比如:public class LoginInfoBean { private String time; //时间 private String...
java初级面试题目?
初级java工程师多数是刚毕业或者工作1,2年的新人。对于新人,面试中基础问题会问道很多,因为先要考察这个人的基础。 关于基础类的题目,我在面试初级java工程师的时候一般会问下面两大类问题,每类5个题目,这样下来我就基本可以了解这位工程师的程度了。 java基础类 面向对象基础类 java基础类 1.描述一下java的访问...
java文件分片工具类?
java编程中【类,对象,工具,方法】该如何通俗的理解???1、其中人是对某种高级动物(即某类事物,可以想象人类,有相同的特征和行为,也就是属性和方法。)的统称。2、Stringname;...//属性publicvoidrun(){..}//方法}而对象是类的一个实例,如“张三”就是“人”这个类的一个对象。3、在Java...