
创建解析器
SAXReader saxreader = new SAXReader();
读取文档
Document doc = saxreaderread(new File("url"));
获取根
Element root = docgetRootElement();
获取子节点
List<Element> list = rootelements();
Systemoutprintln(eelementText("name"));
Systemoutprintln(eelement("score")attributeValue("java"));
Reader reader = new InputStreamReader(con
getInputStream());
SAXReader sax = new SAXReader();
// saxsetEncoding("GBK");
Document document = saxread(reader);
documentsetXMLEncoding("GBK");
Element root = documentgetRootElement();
// Document doc = readerread(read);
// Element root = docgetRootElement();
readNode(root, "");
public static void readNode(Element root, String prefix) {
if (root == null) return;
// 获取属性
List<Attribute> attrs = rootattributes();
if (attrs != null && attrssize() > 0) {
Systemerrprint(prefix);
for (Attribute attr : attrs) {
Systemerrprint(attrgetValue() + " ");
}
Systemerrprintln();
}
// 获取他的子节点
List<Element> childNodes = rootelements();
prefix += "\t";
for (Element e : childNodes) {
//输出内容
Systemerrprintln(egetName()+":"+egetData());
readNode(e, prefix);
}
}
用XPath比较简单点也可以用xmldom
xmltype('<xml version="10" encoding="gbk">
<SERVICE>
<IDA_SVR_USERBILL>
<CALL_METHOD>queryProcessStepList</CALL_METHOD>
</IDA_SVR_USERBILL>
</SERVICE>')extract('//CALL_METHOD/child::text()')getstringval()
测试:
SELECT xmltype('<xml version="10" encoding="gbk">
<SERVICE>
<IDA_SVR_USERBILL>
<CALL_METHOD>queryProcessStepList</CALL_METHOD>
</IDA_SVR_USERBILL>
</SERVICE>')extract('//CALL_METHOD/child::text()')getstringval()
from dual;
很简单啊,你这个列表展示的话,应该是用到c标签或者其他的吧,那直接做个判断就行了, <c:if test="判断条件"><span style="cloor:red"> 值</span></c:if>,不用c标签也是一样的,就是做个判断,然后加样式
以上就是关于java怎么通过xml节点的属性获取这个节点的值全部的内容,包括:java怎么通过xml节点的属性获取这个节点的值、oracle 获取xml某个节点的值、JSP中怎么获取节点的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)