JavaはJDomを利用してXML形式のデータを解析して伝達する
JavaはJDomを利用してXML形式のデータを解析して伝達する
JavaはJDomを利用してXMLデータフォーマットを解析処理する:
必要なパッケージjdom-1.1.2.jar
1データをXML形式に変換して転送する
2文字列中のXMLを解析して処理する
Java処理XMLドキュメント
元のXML:
Java処理コード:
Javaは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="UTF-8"?>
<HD>
<disk name="C">
<capacity>8G</capacity>
<files>1580</files>
</disk>
<disk name="D">
<capacity>10G</capacity>
<files>3000</files>
</disk>
</HD>
Java処理コード:
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/**
* <?xml version="1.0" encoding="UTF-8"?>
*<HD>
* <disk name="C">
* <capacity>8G</capacity>
* <files>1580</files>
* </disk>
* <disk name="D">
* <capacity>10G</capacity>
* <files>3000</files>
* </disk>
*</HD>
* @author Administrator
*
*/
// JDom XML
public class JDomParseXMLFile {
public static void main(String[] args) throws Exception{
SAXBuilder sb=new SAXBuilder();
// document , xml
Document doc=sb.build(JDomParseXMLFile.class.getClassLoader().getResourceAsStream("test.xml"));
//Document doc=sb.build("src/test.xml");//
Document doc=sb.build("src/test.xml");//
Element root=doc.getRootElement();// , <HD>
List list=root.getChildren("disk");// disk
for(int i=0;i<list.size();i++)
{
Element element=(Element)list.get(i);// disk
String name=element.getAttributeValue("name");
String capacity=element.getChildText("capacity");// disk capacity
String files=element.getChildText("files");
System.out.println("name:"+name);
System.out.println("capacity"+capacity);
System.out.println("files"+files);
}
}
}