java - 如何在 Java 中从头开始创建 XML 文件?

标签 java

我想从头开始创建一个 XML 文件,但我在函数解析方面遇到问题,我有以下代码。该文档指出:

"abstract Document parse(InputSource is) Parse the content of the given input source as an XML document and return a new DOM Document object."

//Line with the issue on the parse function
Document document = docBuilder.parse(new InputSource(new StringReader(str)));

我得到的错误是这样的:“DocumentBuilder 类型中的方法 parse(InputStream) 不适用于参数 (InputSource)”

可能出了什么问题?谢谢。

private static Document toXmlDocument(String str) throws ParserConfigurationException, SAXException, IOException{

  DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
  Document document = docBuilder.parse(new InputSource(new StringReader(str)));

  return document;
}

 public static void main(String[] args) {

       try{

       String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
       "<xbrli:xbrl\\n"+
       "xmlns:xbrli=\"http://www.xbrl.org/2003/instance\" "+
       "xmlns:link=\"http://www.xbrl.org/2003/linkbase\" "+
       "xmlns:xlink=\"http://www.w3.org/1999/xlink\"><\n"+
       "</xbrli:xbrl>";

       Document doc = toXmlDocument(xmlStr);

       }
       catch(Exception e ){
           e.printStackTrace();
       }
      }

最佳答案

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(new ByteArrayInputStream(string.getBytes()));

这对你有用。您不需要将InputStream 包装在InputSource 中,因为这也是一个选项。

关于java - 如何在 Java 中从头开始创建 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800318/

相关文章:

java - Apache Tomcat 7.0.14 :build-impl. xml:1111: 模块尚未部署

java - JNI 将空参数传递给 Java 方法

java - Hibernate 将单个外键列映射到多个表

java - 如何强制终止 Http HEAD 命令(对于 HttpClient 和curl)?

java - TransformerFactory.newTransformer 在测试期间变得更慢

java - 三元运算符和意外的 NullPointerException

java - 如何根据其中的两个元素(两列)对类型为 class 的数组列表进行排序

java - 从 URL 读取内容会导致 Android 应用程序崩溃

java - 输出没有重定向到正确的 Jtextarea

java - 检测 JButton 中的文本溢出