<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    jdom 解析 xml (csdn)

    Posted on 2009-07-26 00:37 Gavin.lee 閱讀(423) 評論(0)  編輯  收藏 所屬分類: xml doc 操作

    jdom parse xml

    from:http://topic.csdn.net/t/20041231/11/3691173.html

    <?xml version="1.0" encoding="GB2312"?> 
    <specificationSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation
    ="http://www.citi.qut.edu.au/yawl YAWL_Schema.xsd" 
    xmlns
    ="http://www.citi.qut.edu.au/yawl" 
    xmlns:mm
    ="www.citi.qut.edu.au/yawl/exampleSchemas/make_trip"> 
    <specification uri="Maketrip1.ywl"> 
        
    <metaData/> 
        
    <decomposition id="pay" xsi:type="問題在這里!如何處理帶有命名空間的屬性?"> 
            
    <inputParam name="customer"> 
                
    <type>xs:string</type> 
            
    </inputParam> 

            
    <inputParam name="payment_account_number"> 
                
    <type>xs:string</type> 
            
    </inputParam> 

            
    <inputParam name="carDetails"> 
                
    <type>xs:string</type> 
            
    </inputParam> 

            
    <inputParam name="hotelDetails"> 
                
    <type>xs:string</type> 
            
    </inputParam> 

            
    <inputParam name="flightDetails"> 
                
    <type>xs:string</type> 
            
    </inputParam> 
        
    </decomposition> 
    </specification> 
    </specificationSet>

    package com.Gavin.tools.xml;

    import java.io.File;
    import java.util.List;

    import org.jdom.Attribute;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.Namespace;
    import org.jdom.input.SAXBuilder;

    public class JdomParse {
        
    private static StringBuffer strbuf = new StringBuffer();

        
    public static void main(String[] argv) {
            
    try {
                SAXBuilder sb 
    = new SAXBuilder();
                Document doc 
    = sb.build(new File("c:/jdom.xml"));
                Element root 
    = doc.getRootElement();
                strbuf.append(
    "<?xml   version=\"1.0\"   encoding=\"GB2312\"?>").append(System.getProperty("line.separator"));
                strbuf.append(
    "<").append(root.getName());
                
                
    if (!"".equals(root.getNamespaceURI())) {// Namespace信息
                    strbuf.append("   xmlns=\"" + root.getNamespaceURI() + "\"");
                }

                
                
    // 得到附加的Namespace,比如:xmlns:xsi
                accessAdditionalNamespaces(root);
                
    // 得到附加的Namespace的屬性,如:xsi:schemaLocation
                accessAttribute(root);
                
                strbuf.append(
    ">");
                
    // 遍歷節(jié)點!
                accessElement(root);
                strbuf.append(
    "</" + root.getName() + ">");
                
                System.out.println(strbuf.toString());
            }
     catch (Exception e) {
                e.printStackTrace();
            }

        }


        
    /**
         * accessElement 遍歷結點
         * 
         * 
    @param parent
         *            Element
         
    */

        
    public static void accessElement(Element parent) {
            List listChild 
    = parent.getChildren();
            
    int iChild = listChild.size();
            
    for (int i = 0; i < iChild; i++{
                Element e 
    = (Element) listChild.get(i);
                strbuf.append(System.getProperty(
    "line.separator"));
                strbuf.append(
    "     <");
                strbuf.append(e.getName());
                
    // 訪問屬性
                accessAttribute(e);
                strbuf.append(
    ">");
                strbuf.append(e.getTextTrim());
                
    // 遞歸訪問節(jié)點
                accessElement(e);
                strbuf.append(
    "</");
                strbuf.append(e.getName());
                strbuf.append(
    ">");
            }

            
    // 恰當換行成XML原有的格式
            if (iChild > 0{
                strbuf.append(System.getProperty(
    "line.separator"));
            }

        }


        
    /**
         * accessAttribute 訪問結點的屬性
         * 
         * 
    @param e
         *            Element
         
    */

        
    public static void accessAttribute(Element e) {
            List listAttributes 
    = e.getAttributes();
            
    int iAttributes = listAttributes.size();
            
    for (int j = 0; j < iAttributes; j++{
                Attribute attribute 
    = (Attribute) listAttributes.get(j);
                
    // 問題:屬性帶有命名空間xsi:的怎么處理?
                
    // <name xsi:type="Full">YuLimin</name>
                
    // + attribute.getNamespacePrefix() + ":"
                strbuf.append("   " + attribute.getName() + "=\""
                        + attribute.getValue() + "\"");
            }

        }


        
    /**
         * accessAdditionalNamespaces 訪問附加的命名空間
         * 
         * 
    @param e
         *            Element
         
    */

        
    public static void accessAdditionalNamespaces(Element e) {
            List listAdditionalNamespaces 
    = e.getAdditionalNamespaces();
            
    int iAttributes = listAdditionalNamespaces.size();
            
    for (int j = 0; j < iAttributes; j++{
                Namespace namespace 
    = (Namespace) listAdditionalNamespaces.get(j);
                strbuf.append(
    "   xmlns:" + namespace.getPrefix() + "=\""
                        + namespace.getURI() + "\"");
            }

        }

    }

    主站蜘蛛池模板: 国产亚洲精品福利在线无卡一| 亚洲大香伊人蕉在人依线| 亚洲国产成人精品不卡青青草原| 亚洲乱码日产精品BD在线观看| 一个人看www免费高清字幕| 国产香蕉免费精品视频| 亚洲色自偷自拍另类小说| 无码天堂亚洲国产AV| 国产三级在线观看免费| 亚洲网址在线观看| 30岁的女人韩剧免费观看| 亚洲精品成人网站在线观看| 72pao国产成视频永久免费| 免费大片在线观看网站| 亚洲第一街区偷拍街拍| 最新中文字幕免费视频| 亚洲天堂2017无码中文| 国产免费久久精品丫丫| www国产亚洲精品久久久| 国产亚洲高清在线精品不卡| 日韩在线免费看网站| 亚洲日本va一区二区三区| 特级淫片国产免费高清视频| 青青青亚洲精品国产| 亚洲免费视频网站| 亚洲精品WWW久久久久久 | 瑟瑟网站免费网站入口| 国产麻豆免费观看91| 亚洲色大成网站www尤物| 日韩成人免费视频播放| 免费视频成人片在线观看| 亚洲高清无在码在线电影不卡| 日本片免费观看一区二区| 亚洲无mate20pro麻豆| 午夜影视日本亚洲欧洲精品一区| 久久精品国产免费观看| 91视频免费观看| 久久久无码精品亚洲日韩蜜桃| 亚洲av无码成人精品区在线播放 | 国产成人免费高清激情明星| 中国一级毛片视频免费看|