java 读取一个路径下的所有 xml类型的文件?

 我来答
捷傲之an
推荐于2016-04-22 · 超过12用户采纳过TA的回答
知道答主
回答量:51
采纳率:100%
帮助的人:35万
展开全部
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
//import org.jdom2.Document;
import org.xml.sax.SAXException;
public class tt {
    public static void  main (String [] arg) {
        DocumentBuilderFactory dFactory =DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder =  null;
        try {
            dBuilder = dFactory.newDocumentBuilder();
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        org.w3c.dom.Document document = null;  
        try {
     document = dBuilder.parse("E:/workspace/XMLTest/src/tt.xml");
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Element root=  document.getDocumentElement();
        NodeList nList = root.getChildNodes();
        System.out.println(nList.getLength()+root.getNodeName());
                        
        //for(int i=0 ; i< nList.getLength() ; i++){
            System.out.println(nList.item(1).getChildNodes().item(1).getTextContent()+ "hahah");
        //}
            NodeList nodeList =document.getElementsByTagName("StepDescription");
            nodeList.item(0).getChildNodes().item(1).getAttributes().item(0).setNodeValue("ranqi");
            System.out.println(nodeList.item(0).getChildNodes().item(1).getAttributes().item(0).getNodeValue()+ "7777");
        DOMSource source = new DOMSource(document);
        StreamResult sResult = new StreamResult(new File("E:/workspace/XMLTest/src/tt_11.xml"));
        TransformerFactory tFactory =TransformerFactory.newInstance();
        Transformer transformer =null;
        try {
            transformer =tFactory.newTransformer();
                                
                try {
                    transformer.transform(source, sResult);
                } catch (TransformerException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                                
        } catch (TransformerConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
                            
    }
}

这还是我读E:/workspace/XMLTest/src/tt.xml这个路径下的xml文档

198901245631
推荐于2018-05-12 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1725万
展开全部
实现思路就是先获取到xml文件的上层路径,之后获取到此路径下的所有文件,之后判断后缀为”.xml“的输出即可。
rivate List<String list = new ArrayList<String();
public static void main(String[] args) {
ReadFolder rf = new ReadFolder();
List<String list = rf.readFolder("src/com/test/file");/*** 读取文件夹下所有子目录下的文件,并将其保存到list集合中。
for(int i = 0; i < list.size(); i++){
if(list.get(i).endWith(".xml")) //判断后缀内容是xml的输出此内容
System.out.println(list.get(i));
}}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友37397c621
2013-05-04 · TA获得超过695个赞
知道小有建树答主
回答量:427
采纳率:100%
帮助的人:148万
展开全部
得到所有的文件,然后再根据文件名来判断是不是以.xml结尾的,如果是就读取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式