- 浏览: 158206 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
影非弦:
有错误,代码中有错误
用JFreeChart来生成统计图表 -
影非弦:
这个貌似还没有写完啊
JFreeChart学习教程(一) -
ljzzs:
非常好!!!
iBatis学习总结 -
695165987:
转到注释 字段
转至 → 注释
Ctrl+R
SAP 快捷键 -
lalaeye:
至少你的加了空格, 标出了颜色。
解决Ibatis一对多映射n+1问题
package com.test;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;
public class MyJDom {
public static void main(String[] args) throws Exception{
SAXBuilder sb=new SAXBuilder();//建立构造器
Document doc=sb.build(new FileInputStream("src/xml/abc.xml"));//读入指定文件
Element root=doc.getRootElement();//获得根节点
List list=root.getChildren();//将根节点下的所有子节点放入List中
for(int i=0;i<list.size();i++) {
System.out.println("---------------------------");
Element item=(Element)list.get(i);//取得节点实例
String id=item.getAttribute("id").getValue();//取得属性值
System.out.println("id-->"+id);
Element sub=item.getChild("title");//取得当前节点的字节点
String text=sub.getText();//取得当前节点的值
System.out.println("Title-->"+text);
if(item.getChild("content").getChildren().size()>0){
Element sub2=item.getChild("content").getChild("name");
String text2=sub2.getText();
System.out.println("name-->"+text2);
}
Element sub3=item.getChild("email");
String text3=sub3.getText();
System.out.println("Email-->"+text3);
}
}
}
附:要读取的xml文件如下:abc.xml
<?xml version="1.0" encoding="gb2312"?>
<messages>
<message id="1">
<title>11</title>
<content>
<name>lvpingyu</name>
<age>23</age>
</content>
<email>33</email>
</message>
<message id="2">
<title>44</title>
<content>
<name>lvpingyu</name>
<age>23</age>
</content>
<email>66</email>
</message>
</messages>
------------------------------------------------------------------------------------------------------
应用jdom生成xml文件
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
public class JavaXML {
public void BuildXMLDoc() throws IOException, JDOMException {
// 创建根节点 list;
Element root = new Element("list");
// 根节点添加到文档中;
Document Doc = new Document(root);
// 此处 for 循环可替换成 遍历 数据库表的结果集操作;
for (int i = 0; i < 5; i++) {
// 创建节点 user;
Element elements = new Element("company");
// 给 company 节点添加属性 id;
elements.setAttribute("id", "" + i);
// 给 company 节点添加子节点并赋值
// new Element("company_name")中的 "company_name" 替换成表中相应字段,setText("name")中 "name 替换成表中记录值;
elements.addContent(new Element("company_name").setText("name" + i));
elements.addContent(new Element("company_email").setText("@" + i+ ".com"));
// 给父节点list添加company子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出company_list.xml文件;
XMLOut.output(Doc, new FileOutputStream("company_list.xml"));
}
/**
* 主方法用于测试
* @param args
*/
public static void main(String[] args) {
try {
JavaXML javaXML = new JavaXML();
javaXML.BuildXMLDoc();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void BuildXMLDoc() throws IOException, JDOMException {
// 创建根节点 list;
Element root = new Element("list");
// 根节点添加到文档中;
Document Doc = new Document(root);
// 此处 for 循环可替换成 遍历 数据库表的结果集操作;
for (int i = 0; i < 5; i++) {
// 创建节点 user;
Element elements = new Element("company");
// 给 company 节点添加属性 id;
elements.setAttribute("id", "" + i);
// 给 company 节点添加子节点并赋值
// new Element("company_name")中的 "company_name" 替换成表中相应字段,setText("name")中 "name 替换成表中记录值;
elements.addContent(new Element("company_name").setText("name" + i));
elements.addContent(new Element("company_email").setText("@" + i+ ".com"));
// 给父节点list添加company子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出company_list.xml文件;
XMLOut.output(Doc, new FileOutputStream("company_list.xml"));
}
/**
* 主方法用于测试
* @param args
*/
public static void main(String[] args) {
try {
JavaXML javaXML = new JavaXML();
javaXML.BuildXMLDoc();
} catch (Exception e) {
e.printStackTrace();
}
}
}
评论
4 楼
yangjinhappy
2008-04-02
===============简单的解析,就这样了,不过不知道,你想要的是什么效果?=============
import java.io.FileNotFoundException;
import java.io.StringReader;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class XmlToString {
private Document itsDom = null;
private Element itsRoot = null;
/**
* Jdom解析资源文件,并反回成字符串对象
*/
public String getString(String xml_path){
String xmlStr = "";
try{
SAXBuilder sb = new SAXBuilder();
StringReader sr = new StringReader(xml_path);
InputSource is = new InputSource(sr);
is.setEncoding("UTF-8");
itsDom = sb.build(is);
System.out.println(itsDom.toString());
itsRoot = itsDom.getRootElement();
System.out.println(itsRoot.getName());
}catch(FileNotFoundException ex){
ex.printStackTrace();
}catch(Exception ee){
ee.printStackTrace();
}
Element lines = itsRoot.getChild("Airlines");
List nodeList = lines.getChildren();
for (int i=0;i<nodeList.size();i++){
Element time = (Element)nodeList.get(i);
String id = time.getAttribute("diffgr:id").getValue();
String order = time.getAttribute("msdata:rowOrder").getValue();
String chage = time.getAttribute("diffgr:hasChanges").getValue();
Element company = time.getChild("Company");
Element div = company.getChild("div");
String clazz = div.getAttribute("class").getValue();
String div_value = div.getText();
Element code = time.getChild("AirlineCode");
String code_value = code.getText();
Element start = time.getChild("StartDrome");
String start_value = start.getText();
Element arrive = time.getChild("ArriveDrome");
String arrive_value = arrive.getText();
Element startTime = time.getChild("StartTime");
String st_value = startTime.getText();
Element arriveTime = time.getChild("ArriveTime");
String at_value = arriveTime.getText();
Element mode = time.getChild("Mode");
String mode_value = mode.getText();
Element stop = time.getChild("AirlineStop");
String stop_value = stop.getText();
Element week = time.getChild("Week");
String week_value = week.getText();
}
xmlStr = itsDom.toString();
return xmlStr;
}
}
import java.io.FileNotFoundException;
import java.io.StringReader;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class XmlToString {
private Document itsDom = null;
private Element itsRoot = null;
/**
* Jdom解析资源文件,并反回成字符串对象
*/
public String getString(String xml_path){
String xmlStr = "";
try{
SAXBuilder sb = new SAXBuilder();
StringReader sr = new StringReader(xml_path);
InputSource is = new InputSource(sr);
is.setEncoding("UTF-8");
itsDom = sb.build(is);
System.out.println(itsDom.toString());
itsRoot = itsDom.getRootElement();
System.out.println(itsRoot.getName());
}catch(FileNotFoundException ex){
ex.printStackTrace();
}catch(Exception ee){
ee.printStackTrace();
}
Element lines = itsRoot.getChild("Airlines");
List nodeList = lines.getChildren();
for (int i=0;i<nodeList.size();i++){
Element time = (Element)nodeList.get(i);
String id = time.getAttribute("diffgr:id").getValue();
String order = time.getAttribute("msdata:rowOrder").getValue();
String chage = time.getAttribute("diffgr:hasChanges").getValue();
Element company = time.getChild("Company");
Element div = company.getChild("div");
String clazz = div.getAttribute("class").getValue();
String div_value = div.getText();
Element code = time.getChild("AirlineCode");
String code_value = code.getText();
Element start = time.getChild("StartDrome");
String start_value = start.getText();
Element arrive = time.getChild("ArriveDrome");
String arrive_value = arrive.getText();
Element startTime = time.getChild("StartTime");
String st_value = startTime.getText();
Element arriveTime = time.getChild("ArriveTime");
String at_value = arriveTime.getText();
Element mode = time.getChild("Mode");
String mode_value = mode.getText();
Element stop = time.getChild("AirlineStop");
String stop_value = stop.getText();
Element week = time.getChild("Week");
String week_value = week.getText();
}
xmlStr = itsDom.toString();
return xmlStr;
}
}
3 楼
yangjinhappy
2008-04-02
schema验证,我不知道该如何解析,下面的部分,我可以试一下,写好了,我再给你发过去吧!
2 楼
syhuun
2008-04-02
请问一下,下面的这样的怎么解析啊?这是 我从webservice服务上返回的xml
<DataSet>
<xs:schema id="Airlines">
<xs:element name="Airlines" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="AirlinesTime">
<xs:complexType>
<xs:sequence>
<xs:element name="Company" type="xs:string" minOccurs="0"/>
<xs:element name="AirlineCode" type="xs:string" minOccurs="0"/>
<xs:element name="StartDrome" type="xs:string" minOccurs="0"/>
<xs:element name="ArriveDrome" type="xs:string" minOccurs="0"/>
<xs:element name="StartTime" type="xs:string" minOccurs="0"/>
<xs:element name="ArriveTime" type="xs:string" minOccurs="0"/>
<xs:element name="Mode" type="xs:string" minOccurs="0"/>
<xs:element name="AirlineStop" type="xs:string" minOccurs="0"/>
<xs:element name="Week" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram>
<Airlines>
<AirlinesTime diffgr:id="AirlinesTime1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_fm">上海航空公司</div></Company>
<AirlineCode>FM9361</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>08:40</StartTime>
<ArriveTime>10:15</ArriveTime>
<Mode>JET</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_cz">中国南方航空(集团)公司</div></Company>
<AirlineCode>CZ3572</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>10:45</StartTime>
<ArriveTime>12:10</ArriveTime>
<Mode>737</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2502</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>10:45</StartTime>
<ArriveTime>12:45</ArriveTime>
<Mode>733</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime4" msdata:rowOrder="3" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2504</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>13:05</StartTime>
<ArriveTime>14:45</ArriveTime>
<Mode>JET</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime5" msdata:rowOrder="4" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_cz">中国南方航空(集团)公司</div></Company>
<AirlineCode>CZ3824</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>13:45</StartTime>
<ArriveTime>15:15</ArriveTime>
<Mode>738</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime6" msdata:rowOrder="5" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2506</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>16:10</StartTime>
<ArriveTime>17:45</ArriveTime>
<Mode>733</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime7" msdata:rowOrder="6" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_cz">中国南方航空(集团)公司</div></Company>
<AirlineCode>CZ3580</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>16:35</StartTime>
<ArriveTime>17:55</ArriveTime>
<Mode>738</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
<AirlinesTime diffgr:id="AirlinesTime8" msdata:rowOrder="7" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2508</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>18:05</StartTime>
<ArriveTime>19:45</ArriveTime>
<Mode>733</Mode>
<AirlineStop>0</AirlineStop>
<Week>124</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime9" msdata:rowOrder="8" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2508</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>18:05</StartTime>
<ArriveTime>19:45</ArriveTime>
<Mode>JET</Mode>
<AirlineStop>0</AirlineStop>
<Week>356日</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime10" msdata:rowOrder="9" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_fm">上海航空公司</div></Company>
<AirlineCode>FM9449</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>19:10</StartTime>
<ArriveTime>20:35</ArriveTime>
<Mode>738</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime11" msdata:rowOrder="10" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2510</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>20:15</StartTime>
<ArriveTime>21:45</ArriveTime>
<Mode>738</Mode>
<AirlineStop>0</AirlineStop>
<Week>12</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime12" msdata:rowOrder="11" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_cz">中国南方航空(集团)公司</div></Company>
<AirlineCode>CZ370</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>20:55</StartTime>
<ArriveTime>22:25</ArriveTime>
<Mode>738</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime13" msdata:rowOrder="12" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_mu">中国东方航空公司</div></Company>
<AirlineCode>MU2512</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>21:05</StartTime>
<ArriveTime>22:45</ArriveTime>
<Mode>733</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
−
<AirlinesTime diffgr:id="AirlinesTime14" msdata:rowOrder="13" diffgr:hasChanges="inserted">
<Company><div class="pubFlights_8c">东星航空有限公司</div></Company>
<AirlineCode>8C8288</AirlineCode>
<StartDrome>浦东国际机场</StartDrome>
<ArriveDrome>天河机场</ArriveDrome>
<StartTime>22:30</StartTime>
<ArriveTime>23:50</ArriveTime>
<Mode>JET</Mode>
<AirlineStop>0</AirlineStop>
<Week>123456日</Week>
</AirlinesTime>
</Airlines>
</diffgr:diffgram>
</DataSet>
1 楼
syhuun
2008-03-31
<div class='quote_title'>yangjinhappy 写道</div><div class='quote_div'><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='color: #993300;'>package com.test;<br/></span><span style='font-size: xx-small; color: #993300;'>import org.jdom.*;<br/>import org.jdom.input.*;<br/>import org.jdom.output.*;</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'>import java.io.FileInputStream;<br/>import java.io.FileOutputStream;<br/>import java.util.List;</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'>public class MyJDom {</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> public static void main(String[] args) throws Exception{<br/> SAXBuilder sb=new SAXBuilder();//建立构造器<br/> Document doc=sb.build(new FileInputStream("src/xml/abc.xml"));//读入指定文件</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> Element root=doc.getRootElement();//获得根节点<br/> List list=root.getChildren();//将根节点下的所有子节点放入List中</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> for(int i=0;i<list.size();i++) {</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> System.out.println("---------------------------");</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> Element item=(Element)list.get(i);//取得节点实例</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> String id=item.getAttribute("id").getValue();//取得属性值</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> System.out.println("id-->"+id);</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><br/><span style='font-size: xx-small; color: #993300;'> Element sub=item.getChild("title");//取得当前节点的字节点<br/> String text=sub.getText();//取得当前节点的值</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> System.out.println("Title-->"+text);</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> if(item.getChild("content").getChildren().size()>0){<br/> Element sub2=item.getChild("content").getChild("name");<br/> String text2=sub2.getText();</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> System.out.println("name-->"+text2);<br/> }<br/> </span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><br/><span style='font-size: xx-small; color: #993300;'> Element sub3=item.getChild("email");<br/> String text3=sub3.getText();</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'> System.out.println("Email-->"+text3);<br/> }<br/> }<br/>}</span></h4><p><span style='font-size: xx-small; color: #993300;'>附:要读取的xml文件如下:abc.xml</span></p><p><span style='font-size: xx-small; color: #993300;'><?xml version="1.0" encoding="gb2312"?><br/><messages><br/><message id="1"><br/> <title>11</title><br/> <content><br/> <name>lvpingyu</name><br/> <age>23</age><br/> </content><br/> <email>33</email><br/></message><br/><message id="2"><br/> <title>44</title><br/> <content><br/> <name>lvpingyu</name><br/> <age>23</age><br/> </content><br/> <email>66</email><br/></message><br/></messages></span></p><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'>------------------------------------------------------------------------------------------------------</span></h4><h4 class='TextColor1' style='margin-bottom: 0px;'><span style='font-size: xx-small; color: #993300;'>应用jdom生成xml文件</span></h4><div class='bvMsg'><div><span style='font-size: xx-small; color: #993300;'>import java.io.FileOutputStream;<br/>import java.io.IOException;<br/>import org.jdom.Document;<br/>import org.jdom.Element;<br/>import org.jdom.JDOMException;<br/>import org.jdom.output.XMLOutputter;</span></div><div><span style='font-size: xx-small; color: #993300;'>public class JavaXML {<br/>public void BuildXMLDoc() throws IOException, JDOMException {<br/> // 创建根节点 list; <br/> Element root = new Element("list");<br/> // 根节点添加到文档中; <br/> Document Doc = new Document(root);<br/> // 此处 for 循环可替换成 遍历 数据库表的结果集操作; <br/> for (int i = 0; i < 5; i++) {<br/> // 创建节点 user;<br/> Element elements = new Element("company");<br/> // 给 company 节点添加属性 id;<br/> elements.setAttribute("id", "" + i);<br/> // 给 company 节点添加子节点并赋值<br/> // new Element("company_name")中的 "company_name" 替换成表中相应字段,setText("name")中 "name 替换成表中记录值; <br/> elements.addContent(new Element("company_name").setText("name" + i));<br/> elements.addContent(new Element("company_email").setText("@" + i+ ".com"));<br/> // 给父节点list添加company子节点; <br/> root.addContent(elements);<br/> }<br/> XMLOutputter XMLOut = new XMLOutputter();<br/> // 输出company_list.xml文件; <br/> XMLOut.output(Doc, new FileOutputStream("company_list.xml"));<br/>}<br/>/**<br/> * 主方法用于测试<br/> * @param args<br/> */<br/>public static void main(String[] args) {<br/> try {<br/> JavaXML javaXML = new JavaXML();<br/> javaXML.BuildXMLDoc();<br/> } catch (Exception e) {<br/> e.printStackTrace();<br/> }<br/>}<br/>}</span> </div></div></div>
相关推荐
JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...
JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...
5. 保存修改:如果需要保存对XML文件的修改,可以使用`XMLOutputter`类将`Document`对象转换回XML字符串,然后写回文件: ```java XMLOutputter outputter = new XMLOutputter(); String xmlString = outputter....
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在Java应用程序中,XML经常被用作数据交换的...同时,要注意在处理大型XML文件时可能存在的性能问题,以及在反射操作中对类结构的依赖。
2. 使用`SAXBuilder`解析XML文件:通过`build()`方法,传入XML文件的路径,返回一个`Document`对象,这是JDOM中的核心类,表示整个XML文档。 ```java import java.io.File; File xmlFile = new File("path_to_your...
使用JDom读取XML文件通常涉及以下步骤: - 创建SAXBuilder实例。 - 调用`build()`方法,传入XML文件的输入流或文件路径,返回一个Document对象,表示整个XML文档。 - 通过Document对象获取根元素,然后可以遍历...
- **SAX与DOM对比**:JDOM采用的是DOM模型,相比SAX解析器,它会将整个XML文档加载到内存中,适合小型XML文件。对于大型文件,可以考虑使用SAX或StAX以减少内存消耗。 - **优化策略**:如果确实需要处理大型XML...
这使得开发人员能够非常直观地对XML文档进行读取、修改和创建。JDOM的核心类包括: - `Document`:代表整个XML文档。 - `Element`:代表XML文档中的元素节点。 - `Text`:代表元素中的文本内容。 - `Attribute`:...
使用JDOM解析XML文件的第一步是创建一个`SAXBuilder`对象,然后通过调用其`build`方法,传入XML文件的输入流,得到一个`Document`对象,该对象代表了整个XML文档。 ```java SAXBuilder sb = new SAXBuilder(); ...
本文详细介绍了如何使用 JDOM 库创建 XML 文档,以及如何进行基本的 XML 文件解析。通过这些基础操作,您可以轻松地使用 Java 来管理和操作 XML 数据。JDOM 的简洁性和易用性使其成为处理 XML 数据的理想选择之一。
最后,为了保存对XML文件的修改,我们需要创建`Transformer`并将其应用于`Document`: ```java import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml....
在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>...
JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...
### JDOM 读取与修改 XML 文件 #### JDOM 简介 JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,...
总之,JDOM是一个强大的XML处理库,它简化了XML文档的读写和操作。理解其基本用法和API,能够帮助开发者高效地处理XML任务。在实际项目中,根据需求选择合适的解析方式,并注意资源管理,可以充分发挥JDOM的优势。
* fileName文件的路徑和名稱 * firstChild為xml第一個節點 * */ public Element ReaderXml(String fileName,String firstChild){ Element element=null; try{ File xmlFile = new File(fileName); ...
2. **加载XML文件:** 通过调用`SAXBuilder.build(InputStream)`或`SAXBuilder.build(File)`方法加载XML文件。 3. **获取Document对象:** 加载完成后,`build()`方法将返回一个包含整个XML文档的`Document`对象。 4...
本文将对JDOM和XML的解析进行详细介绍,并进行两者之间的比较。 **JDOM** JDOM(Java Document Object Model)是Java平台上的一个XML处理库,它提供了一种直接在Java对象层次上操作XML文档的方法。JDOM的主要优势...
JDOM是由以下几个包组成的: org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom....org.jdom.xpath包含了对xml文档xpath操作的类