Java利用JDom解析和传递XML格式数据

简介:
j ava利用JDom来解析处理XML数据格式:

  需要的包jdom-1.1.2.jar

  1、将数据转换成XML格式的数据进行传递

Element rootList, firstList, secondItem, thirdItem;
//根元素标签名
rootList = new Element("root");
//根元素标签内的属性名与值
rootList.setAttribute("project", pname);
//生成Doc文档
Document Doc = new Document(rootList);
//获取文档中的根标签
rootList = Doc.getRootElement();
 
for (int i = 0; i < judges.size(); i++)
{   
//生成新的元素
firstList = new Element("flayout");
firstList.setAttribute("percent", "percent");
//加入根级元素中
rootList.addContent(firstList);
}
XMLOutputter XMLOut = new XMLOutputter();
//将doc文档转换为字符串型的XML格式
String xmlinfo = XMLOut.outputString(Doc);
//将开头的去掉
xmlinfo = xmlinfo.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
"");
//返回已经封装好的XML数据
return xmlinfo;

  2、将字符串中的XML解析出进行处理

//创建一个新的字符串
StringReader read = new StringReader(stadXML);
// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
// 创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
String projectName;
List<Judgestandard> standIndex = new ArrayList<Judgestandard>();
 
try {
    // 通过输入源构造一个Document
    Document doc = sb.build(source);
    // 取的根元素
    Element root = doc.getRootElement();
    projectName = root.getAttributeValue("project");
    // 得到根元素所有子元素的集合
    Element et = null;
    List nodes = root.getChildren();
    // 第一级指标
    for (int i = 0; i < nodes.size(); i++) {
       et = (Element) nodes.get(i);// 循环依次得到子元素
       Judgestandard judge = new Judgestandard();
//获取该元素中属性的值
       String fid = et.getAttributeValue("mainid");
        //获取元素的孩子数目
       List fsize = et.getChildren();
       // 第二级指标
       for (int j = 0; j < fsize.size(); j++)
{
           et = (Element) fsize.get(j);// 循环依次得到子元素
           et.getAttributeValue("stdid")
              
       }

  Java处理XML文档

  不需要包

  待处理的XML文档:

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<ip>localhost</ip>
<port>8080</port>
</root>
static DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
static DocumentBuilder builder = null;
 
builder = factory .newDocumentBuilder();
//获取服务器根目录地址
Document document = builder.parse(new File("src/ip.xml"));
Element rootElement = document.getDocumentElement();
NodeList list1 = rootElement.getElementsByTagName("ip");
NodeList list2 = rootElement.getElementsByTagName("port");
Element ip = (Element) list1.item(0); 
Element port = (Element) list2.item(0);
String s =ip.getFirstChild().getNodeValue().toString()+":"+port.getFirstChild().getNodeValue().toString();
System.out.println(s);








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
5天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
23 8
|
7天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
25天前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
19 0
|
3天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
10 0
|
3天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
20 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
7天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
21 0
|
13天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
22天前
|
Java 程序员 C#
静态构造方法解析,Java新手必看技能
静态构造方法解析,Java新手必看技能
8 0
|
22天前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
14 1
|
22天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1

推荐镜像

更多