• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            為生存而奔跑

               :: 首頁 :: 聯系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團隊

            搜索

            •  

            積分與排名

            • 積分 - 330224
            • 排名 - 74

            最新評論

            閱讀排行榜

            評論排行榜

            首先需要導入的包
            import javax.xml.parsers.*;
            import org.w3c.dom.*;
            import org.xml.sax.SAXException;
            import javax.xml.transform.*;
            import javax.xml.transform.dom.*;
            import javax.xml.transform.stream.*;

            import java.io.*;
            然后建立一個DocumentBuilder對象

            DocumentBuilderFactory docBuilderFactory=DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder
            =docBuilderFactory.newDocumentBuilder();

            DocumentBuilder的parse方法可以把一個xml文件處理并返回Document類型的對象
            Document document=docBuilder.parse(xmlFile);

            之后就可以通過Document提供的方法進行訪問了

            假設有一個XML格式為
            <entailment-corpus>
            <pair id="001" contradiction="YES" type="negation">
                    
            <t>Tariq Aziz was not considered a member of Saddam's innermost circle.</t>
                    
            <h>Tariq Aziz was in Saddam's inner circle.</h>
            </pair>
            <pair id="002" contradiction="YES" type="lexical">
                    
            <t>Tariq Aziz kept outside the closed circle of Saddam's Sunni Moslem cronies.</t>
                    
            <h>Tariq Aziz was in Saddam's inner circle.</h>
            </pair>
            </entailment-corpus>

            下面的程序把該XML修改為
            <entailment-corpus>
            <pair id="001" contradiction="YES" type="negation">
                    
            <t>Tariq Aziz was not considered a member of Saddam's innermost circle.</t>
                    
            <h>Tariq Aziz was in Saddam's inner circle.</h>
            <addElement1>addText1</addElement1>
            <addElement2>addText2</addElement2>
            </pair>
            <pair id="002" contradiction="YES" type="lexical">
                    
            <t>Tariq Aziz kept outside the closed circle of Saddam's Sunni Moslem cronies.</t>
                    
            <h>Tariq Aziz was in Saddam's inner circle.</h>
            </pair>
            </entailment-corpus>



            import javax.xml.parsers.*;
            import org.w3c.dom.*;
            import org.xml.sax.SAXException;
            import javax.xml.transform.*;
            import javax.xml.transform.dom.*;
            import javax.xml.transform.stream.*;

            import java.io.*;
            import java.util.*;

            public class TestDom {

                
                
            public void modifyXML(File xmlFile){
                    
            try{
                        DocumentBuilderFactory docBuilderFactory
            =DocumentBuilderFactory.newInstance();
                        DocumentBuilder docBuilder
            =docBuilderFactory.newDocumentBuilder();
                        Document document
            =docBuilder.parse(xmlFile);
                        Element root
            =document.getDocumentElement();
                        
            //System.out.println(root.getNodeName());
                        NodeList pairNodeList=root.getElementsByTagName("pair");
                        
            for(int i=0;i<pairNodeList.getLength();i++){
                            Node pairNode
            =pairNodeList.item(i);   // tag <pair>
                            
            //System.out.println(pairNode.getNodeName());
                            
                            NodeList pairChild
            =pairNode.getChildNodes(); //tag <t> <h>  會把空格也算上,因此pairChild.getLength()!=2
                            for(int j=0;j<pairChild.getLength();j++){
                                Node pairChildNode
            =pairChild.item(j);
                                
            //System.out.println(pairChildNode.getNodeName());
                                if(pairChildNode instanceof Element){     //由于會把空格算上,所以要判斷是否是Element
                                    Element pairChildElement=(Element)pairChildNode;
                                    String text
            =((Text)pairChildElement.getFirstChild()).getData().trim();
                                    System.out.println(text);
                                }
                            }
                            
                            Element addElement1
            =document.createElement("addElement1");
                            addElement1.setTextContent(
            "addText1");
                            pairNode.appendChild(addElement1);
                            
                            Element addElement2
            =document.createElement("addElement2");
                            addElement2.setTextContent(
            "addText2");
                            pairNode.appendChild(addElement2);
                        }
                        
                        
                        TransformerFactory tFactory 
            =TransformerFactory.newInstance();
                        Transformer transformer 
            = tFactory.newTransformer();
                        DOMSource source 
            = new DOMSource(document);
                        StreamResult result 
            = new StreamResult(new java.io.File("E:/我的文檔/tmp/modify.xml"));
                        transformer.transform(source, result);
                    }
                    
            catch(ParserConfigurationException   e){
                        e.printStackTrace();
                    }
                    
            catch (IOException e){
                        e.printStackTrace();
                    }
                    
            catch (SAXException e){
                        e.printStackTrace();
                    }
                    
            catch(TransformerException e){
                        e.printStackTrace();
                    }
                }
                
            /**
                 * 
            @param args
                 
            */
                
            public static void main(String[] args) {
                    
            // TODO Auto-generated method stub
                    String path="E:/我的文檔/tmp/數據/real_contradiction.xml";
                    TestDom testDom
            =new TestDom();
                    testDom.modifyXML(
            new File(path));
                }

            }


            注意getChildNodes()會把空格也當做一個Node,因此在程序中要判斷pairChildNode是不是instanceof Element
            如果是Element,那么就可以獲得其中的內容了。
            posted on 2010-04-21 18:24 baby-fly 閱讀(846) 評論(0)  編輯 收藏 引用 所屬分類: Java
            欧美大战日韩91综合一区婷婷久久青草| 国产三级观看久久| 久久综合亚洲色HEZYO社区 | 一本色综合久久| 久久香蕉一级毛片| 香蕉aa三级久久毛片| 国产精品99久久精品爆乳| 久久精品一区二区三区AV| 国产福利电影一区二区三区,免费久久久久久久精 | 一极黄色视频久久网站| 人妻精品久久久久中文字幕69 | 2021国内久久精品| 久久婷婷久久一区二区三区| 久久久午夜精品福利内容| 久久露脸国产精品| 99久久精品国产高清一区二区| 国产精品99久久久精品无码| 久久er热视频在这里精品| 伊人久久免费视频| 久久精品国产黑森林| 99久久国产热无码精品免费久久久久| 国产精品久久久久久久久软件| 99久久人人爽亚洲精品美女| 精品久久香蕉国产线看观看亚洲 | 亚洲国产精品综合久久网络| 情人伊人久久综合亚洲| 久久精品中文闷骚内射| 99久久免费国产特黄| 久久无码人妻一区二区三区午夜 | 久久精品亚洲一区二区三区浴池| 噜噜噜色噜噜噜久久| 一级a性色生活片久久无| 日韩电影久久久被窝网| 久久久久99精品成人片牛牛影视| 国产成人精品久久免费动漫 | 久久久久国产精品人妻| 亚洲精品综合久久| 亚洲国产另类久久久精品小说| 国产高潮国产高潮久久久| 日本精品久久久久中文字幕8| jizzjizz国产精品久久|