Tag: musicxml

TransformerFactory – 避免网络查找以validationDTD

我需要为XML文档的离线转换编程。 在使用以下内容加载原始XML文件时,我能够停止DTD网络查找: DocumentBuilderFactory factory; factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setNamespaceAware(true); factory.setFeature(“http://xml.org/sax/features/namespaces”, false); factory.setFeature(“http://xml.org/sax/features/validation”, false); factory.setFeature(“http://apache.org/xml/features/nonvalidating/load-dtd-grammar”, false); factory.setFeature(“http://apache.org/xml/features/nonvalidating/load-external-dtd”, false); // open up the xml document docbuilder = factory.newDocumentBuilder(); doc = docbuilder.parse(new FileInputStream(m_strFilePath)); 但是,我无法将其应用于TransformerFactory对象。 DTD在本地可用,但我不知道如何指示变换器查看本地文件而不是尝试进行网络查找。 从我所看到的,变压器需要这些文件来正确地进行转换。 有关信息,我正在将MusicXML文档从Partwise转换为Timewise。 正如您可能已经猜到的那样,XSLT不是我的强项(远非如此)。 我是否需要修改XSLT文件以引用本地文件,还是可以采用不同的方式? 继续下面的评论,这里是xsl文件的摘录。 这是我看到的唯一一个引用外部文件的地方: 上述技术对此也有效吗? DTD文件包含对许多MOD文件的引用,如下所示: 我认为这些文件也将依次导入。

输出JSoup,不添加空格和元素周围的换行符

我正在使用JSoup解析并输出一个xml文件(当然还要修改它们之间的元素)。 输出文件有一些额外的空格和换行符。 我想知道我是否可以用原始格式打印。 原版的: 4 0 major … 新: 4 0 major … 关于如何从元素中删除空格/进入的任何想法? 我目前正在阅读并打印文档,如下所示: doc = Jsoup.parse(is, “UTF-8”, “”, Parser.xmlParser()); BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(“output.xml”), “UTF-8”)); htmlWriter.write(doc.toString());