相关疑难解决方法(0)

如何在Logback/SLF4J中记录多行文本?

我想使用Logback/SLF4J记录"漂亮打印"的XML.现在,我在日志中得到的东西是完全不可读的,我必须打开一些东西来解析它.我希望能够为调试配置日志记录(因为我只想在调试中看到XML)以人类可读的方式输出XML.

可能吗?

logging logback slf4j

7
推荐指数
1
解决办法
9778
查看次数

使用apache commons配置XMLConfiguration格式化XML输出

我正在使用apache commons配置XMLConfiguration来构建和保存XML文件.保存时没有格式化.我有类似的东西:

<root>
<node>
<child>
</child>
</node>
</root>
Run Code Online (Sandbox Code Playgroud)

我知道有很多方法可以使用其他库来获取输出并对其进行格式化,但是肯定必须有一种方法来设置像公共配置中的缩进一样简单的东西吗?

java xml-serialization apache-commons-config

6
推荐指数
1
解决办法
4385
查看次数

java xml document.getTextContent()保持为空

我正在尝试在JUnit测试中构建一个xml文档.

doc=docBuilder.newDocument();   
Element root = doc.createElement("Settings");
doc.appendChild(root);          
Element label0 = doc.createElement("label_0");
root.appendChild(label0);
String s=doc.getTextContent();
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

然而,文件保持空白(即println收益率)null.我不知道为什么会这样.实际问题是后续的XPath表达式会引发错误:Unable to evaluate expression using this context.

java xml xmldom

5
推荐指数
1
解决办法
2557
查看次数

由于迁移到java 1.7 Xml文档元素不会缩进

我正在尝试缩进由Transformer生成的XML.除了第一个节点 - 文档元素之外,所有DOM节点都按预期缩进.document元素不会在新行中开始,只是在XML声明之后立即生成.

当我转移到java 1.7时会出现这个错误,当使用java 1.6或1.5时,它不会发生.

我的代码:

ByteArrayOutputStream s = new OutputStreamWriter(out, "utf-8");

TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount","4");

transformer.transform(new DOMSource(doc), new StreamResult(s));
Run Code Online (Sandbox Code Playgroud)

输出:

<?xml version="1.0" encoding="UTF-8"?><a>
       <b>bbbbb</b>
 </a>
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?

顺便说一下,当我添加属性

transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但xml声明已更改,它现在也具有独立属性,我不想更改xml声明..

java xml parsing dom transform

5
推荐指数
1
解决办法
3476
查看次数

门面和业务代表模式之间的区别

Facade和业务委托设计模式之间有什么区别.是不是都用于从客户端隐藏业务逻辑?

design-patterns java-ee

3
推荐指数
1
解决办法
8076
查看次数

Java XML输出 - 子项的正确缩进

我想将一些简单的数据模型序列化为xml,我一直在使用标准的java.org.w3c相关代码(见下文),缩进比没有"OutputKeys.INDENT"好,但还有一点点剩下的东西 - 适合儿童元素的缩进.

我知道之前已经在stackoverflow上询问过,但是这个配置对我来说不起作用,这是我正在使用的代码:

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.newDocument();

        doc = addItemsToDocument(doc);
        // The addItemsToDocument method adds childElements to the document.

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        transformerFactory.setAttribute("indent-number", new Integer(4));
        // switching to setAttribute("indent-number", 4); doesn't help

        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");

         DOMSource source = new DOMSource(doc);
       StreamResult result = new StreamResult(outFile);
        // outFile is a regular File outFile = new File("some/path/foo.xml");

        transformer.transform(source, result);
Run Code Online (Sandbox Code Playgroud)

产生的输出是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<stuffcontainer> …
Run Code Online (Sandbox Code Playgroud)

java xml indentation

2
推荐指数
1
解决办法
2万
查看次数

在jsp中显示xml

我试图在jsp页面上显示一个包含xml格式的xml数据的字符串.我不想解析xml但只想在浏览器上显示xml数据.

有人能帮我解决这个问题吗?

xml jsp

2
推荐指数
1
解决办法
5774
查看次数

是否有自动格式化XML的Swing组件?

我正在寻找Java Swing组件,它会自动格式化我凌乱的XML(在一行中,参见示例):

<person><name>Joe</name><surname>Black</surname></person>
Run Code Online (Sandbox Code Playgroud)

等等

它看起来像十亿行长线并不是很好看:)我希望有一些组件,那将为我做肮脏的工作.Thankx

编辑: 我从数据库中获取XML输入为纯字符串,因此对我来说没有真正的XML文档:(

java xml swing

1
推荐指数
1
解决办法
1206
查看次数