可以用java读取文件夹中xml文件的完整内容吗?
可以用java读取文件夹中xml文件的完整内容吗 我的代码是:可以用java读取文件夹中xml文件的完整内容吗?,java,xml,Java,Xml,可以用java读取文件夹中xml文件的完整内容吗 我的代码是: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(false); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new FileInputStream(new File("C:\\Users\\Admin
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new FileInputStream(new
File("C:\\Users\\Administrator\\eclipse-workspace\\XMLExamples2\\")));
Element element = (Element) doc.getElementsByTagName("composite").item(0);
// Adds a new attribute. If an attribute with that name is already present
// in the element, its value is changed to be that of the value parameter
element.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-
instance");
element.setAttribute("xsi:noNamespaceSchemaLocation", "v1_6.xsd");
当它将名称放在…\XMLExample2\之后时,我只能读取和操作单个文件。不,不能将多个XML文件的内容作为唯一的文档处理 但您可以列出XML文件,然后处理列表中的每个
文件
:
String xmlDir = "C:\\Users\\Administrator\\eclipse-workspace\\XMLExamples2";
File[] files = new File(xmlDir).listFiles(new FilenameFilter() {
@Override
public boolean accept(File folder, String name) {
return name.toLowerCase().endsWith(".xml");
}
});
for(File file : files){
Document doc = db.parse(file);
Element element = (Element) doc.getElementsByTagName("composite").item(0);
// etc...
}
每个文件都是一个单独的文档。因此,如果您不想将它们作为单个文档来阅读,那么您所需要做的就是使用
File
class'listFiles()
方法获取该文件夹中的文件列表。然后,您可以在文件夹中的每个文件上循环并相应地处理它们
如果您确实希望将其视为单个XML文档:首先需要将文件合并在一起,然后对其进行处理。有很多方法可以做到。您可能需要考虑一些想法。好的,是的-因此循环文件夹中的所有文件,并一次加载一个。使用并解析每个文件您必须以循环方式从目录中读取文件,如下面的示例所示。我得到了这个错误代码。线程“main”java.lang.NullPointerException在AddAttribute_test.main(AddAttribute_test.java:37)第37行中的异常是第一个打印文件名(
file.getName()
)并检查其内容是否如预期的SetAttributery。您的意思是在解析部分?Document doc=db.parse();当然,setAttribute
行不应该给您一个空指针,除非元素
为空。是的,我的意思是在循环开始时打印文件名,以知道当前正在处理哪个文件。但是为什么呢?我在上面的行中定义了元素:元素元素=(元素)doc.getElementsByTagName(“复合”)。项(0);