
用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;
没把结果转为二维数组,我把节点放到arraylist里了,里面的每个项都是一个一维数组,其中第一个元素是data的属性,后面存放的是节点的子节点的内容。Dim
xmlreader
As
XmlReader
=
XmlReaderCreate("xmlxml")
Dim
alst
As
SystemCollectionsArrayList
=
New
SystemCollectionsArrayList()
Dim
a()
As
String
=
Nothing
Dim
i
As
Integer
=
0
While
(xmlreaderRead())
If
(xmlreaderNodeType
=
XmlNodeTypeElement)
Then
Select
Case
(xmlreaderLocalName)
Case
"data":
If
(a
<>
Nothing)
Then
alstAdd(a)
Redim
a(9)
i
=
0
xmlreaderMoveToFirstAttribute()
a(i)
=
xmlreaderValue
i
+=
1
Case
"cloudcover",
"seeing",
"transparency",
"lifted_index",
"rh2m",
"wind10m_direction",
"wind10m_speed",
"temp2m",
"prec_type":
a(i)
=
xmlreaderReadString
i
+=
1
End
Select
End
If
Wend
alstAdd(a)
xmlreaderClose() 其实你这个文件用xmldoucment *** 作方便,为什么要用xmlreader呢?
代码如下:
import javaxxmlparsersDocumentBuilder;
import javaxxmlparsersDocumentBuilderFactory;
import orgw3cdomDocument;
import orgw3cdomElement;
import orgw3cdomNodeList;
public class FileTest {
/
@param args
/
public static void main(String[] args) {
DocumentBuilderFactory dbf = DocumentBuilderFactorynewInstance();
try {
DocumentBuilder db = dbfnewDocumentBuilder();
Document doc = dbparse("d:/testxml");
//得到根节点
Element root = docgetDocumentElement();
NodeList nl = rootgetElementsByTagName("id");
Element e = (Element) nlitem(0);
String id=egetTextContent();
Systemoutprintln("id的值为:"+id);
}catch(Exception e){
eprintStackTrace();
}
}
}
上面的代码中我把
<message msgType="response" msgId="String" timestampCreated="2010-5-13 15:55:54" version="String">
<response>
<code>0</code>
<description>成功</description>
</response>
<body bodyId="1">
<id>11223344</id>
</body>
</message>
这段内容放到了D盘下的testxml文件中
你如果要用可以直接将得到的给字符串加载成Document对象,就可以取到了。
以上就是关于oracle 获取xml某个节点的值全部的内容,包括:oracle 获取xml某个节点的值、急 VB.NET中用XmlReader读取XML文件的指定节点 在线等、java 从XML中取出某个节点的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)