获取oracle 获取xmltpye节点中的属性值

获取oracle 获取xmltpye节点中的属性值,第1张

实现思路:可以通过w3c的dom解析器进行 *** 作,之后通过getName获取到xmltpye中的属性值。

举例:

import javaioFile;

import javaxxmlparsersDocumentBuilder;

import javaxxmlparsersDocumentBuilderFactory;

import orgw3cdomDocument;

import orgw3cdomElement;

import orgw3cdomNodeList;

public class DomTest1

{

public static void main(String[] args) throws Exception

{

// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)

DocumentBuilderFactory dbf = DocumentBuilderFactorynewInstance();

// Systemoutprintln("class name: " + dbfgetClass()getName());

// step 2:获得具体的dom解析器

DocumentBuilder db = dbfnewDocumentBuilder();

// Systemoutprintln("class name: " + dbgetClass()getName());

// step3: 解析一个xml文档,获得Document对象(根结点)

Document document = dbparse(new File("candidatexml"));

NodeList list = documentgetElementsByTagName("PERSON");

for(int i = 0; i < listgetLength(); i++)

{

Element element = (Element)listitem(i);

String content = elementgetElementsByTagName("NAME")item(0)getFirstChild()getNodeValue();

Systemoutprintln("name:" + content);

Systemoutprintln("--------------------------------------");

}

}

}

查询 *** 作

在定义了一个XML类型的数据之后,我们最常用的就是查询 *** 作,下面我们来介绍如何使用SQL语句来进行查询 *** 作的。

在T-Sql中,提供了两个对XML类型数据进行查询的函数,分别是query(xquery)和value(xquery,

dataType),其中,query(xquery)得到的是带有标签的数据,而value(xquery,

dataType)得到的则是标签的内容。接下类我们分别使用这两个函数来进行查询。

1

、使用query(xquery)

查询

我们需要得到书的标题(title),使用query(xquery)来进行查询,查询语句为:

select

@xmlDocquery('/book/title')

2

、使用value(xquery,

dataType)

查询

同样是得到书的标题,使用value函数,需要指明两个参数,一个为xquery,

另一个为得到数据的类型。看下面的查询语句:

select

@xmlDocvalue('(/book/title)[1]',

'nvarchar(max)')

3

、查询属性值

无论是使用query还是value,都可以很容易的得到一个节点的某个属性值,例如,我们很希望得到book节点的id,我们这里使用value方法进行查询,语句为:

select

@xmlDocvalue('(/book/@id)[1]',

'nvarchar(max)')

4

、使用xpath进行查询

xpath是统一的Xml查询语句。使用XPath可以方便的得到想要的节点,而不用使用where语句。例如,我们在@xmlDoc中添加了另外一个节点

例如

:得到id为0002的book节点

select

@xmlDocquery('(/root/book[@id="0002"])')

参考资料:

SQL如何 *** 作Xml字段

>

declare @xml xml

declare @str varchar(100)

set @xml=(SELECT CAST('<A>ABC</A>' AS XML) ) --更改为你的SQL语句即可

set @str= convert(varchar(100), @xml )

set @str=substring(@str,charindex('>',@str)+1,charindex('/',@str)-charindex('>',@str)-2)

print @str

以上就是关于获取oracle 获取xmltpye节点中的属性值全部的内容,包括:获取oracle 获取xmltpye节点中的属性值、sql 2005数据库 如何 *** 作xml、sql语法里面的 xml 的 截取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9607038.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存