
实现思路:可以通过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("--------------------------------------");
}
}
}
假设libxml2 库放在 /user/lib 目录下,则可以像下面这种方式包含libxml2 这个库
在你的pro文件中,加入下面这一行:
LIBS += /user/lib/libxml2lib
然后在你工程中包含libxml2的头文件。
可以试下,我还没试过。好久没用Linux了。
如果上面的方法不管用,你可以考虑直接使用qt提供的xml解析类 QXmlReader
用QXmlReader 可以很方便地对xml进行解析,具体使用方法见qt 的帮助文档
qt修改xml保存后为空的解决方法就是在工程文件下添加。 *** 作XML之前需要在工程文件下添加。qt通常与HTML相关联。HTML主要用来显示网页数据。而XML主要用来存储数据。Qt提供了一套 *** 作xml的接口。创建XML文件。XML中添加数据。写入有效数据。从XML文档中读取有效数据。
可以带路径,qt中加载新的文件可以采取相对路径和绝对路径两种形式加载
XML文件(eXtensible Markup Language)是一种通用的文本格式,被广泛运用于数据交换和数据存储(虽然近年来 JSON 盛行,大有取代 XML 的趋势,但是对于一些已有系统和架构,比如 WebService,由于历史原因,仍旧会继续使用 XML)。
XML 由 World Wide Web Consortium(W3C)发布,作为 SHML(Standard Generalized Markup Language)的一种轻量级方言。
无法代替。QT文件只能创建、增加、修改、删除XML或者重写,DOM实现方式 *** 作非常简单,但不适合处理过大文件;而SAX实现方式是能处理很大的XML文件,但是需要开发者写一些复杂的代码。
以上就是关于oracle数据库如何解析XML数据获取值全部的内容,包括:oracle数据库如何解析XML数据获取值、哪位大侠知道 Linux 下的 QT 下怎样访问 libxml2 的库 求教了。。。先拜谢。。、qt修改xml保存后为空等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)