相关疑难解决方法(0)

你推荐什么Java XML库(替换dom4j)?

我正在寻找像dom4j这样的东西,但没有dom4j的瑕疵,例如文档不好或丢失,看似停滞的开发状态.

背景:我一直在使用 提倡 dom4j,但是我觉得它并不完全正确,因为我知道这个库远非最佳(例如:看看XSLT相关样式表类中的方法是如何记录的;你会传递什么来运行( )作为String mode参数?)

要求:与使用 纯JDK(javax.xmlorg.w3c.dom包)时相比,库应该使基本的XML处理更容易.这样的事情:

  • 将XML文档(从文件或字符串)读入对象,轻松遍历和操作DOM,执行XPath查询并针对它运行XSLT.
  • 在Java代码中构建XML文档,添加元素,属性和数据,最后将文档写入文件或字符串.

我真的很喜欢dom4j所承诺的,实际上:" 易于使用的开源库,用于处理XML,XPath和XSLT [...],完全支持DOM,SAX和JAXP. "即将推出的dom4j 2.0确实声称能解决所有问题:充分利用Java 5并添加缺少的文档.但不幸的是,如果你仔细观察:

警告:dom4j 2.0处于pre-alpha阶段.它很可能无法编译.如果它可以随机编译,很可能无法运行.如果它偶尔运行,它可能会突然爆炸.如果要使用dom4j,则需要1.6.1版.真.

......并且网站已经说了长时间了.那么有没有一个很好的替代dom4j?请为您的首选库提供一些理由,而不是仅仅转储名称和链接.:-)

java xml dom4j

76
推荐指数
5
解决办法
6万
查看次数

java写入文本文件

我想要打印以下内容

TEST1

TEST2

TEST3

TEST4

但我似乎无法将文本提交到下一行.

请帮忙

import java.io.*;

public class MainFrame {
    public static void main(String[] args) {
        try {
        BufferedWriter out = new BufferedWriter(new FileWriter("file.txt"));
            for (int i = 0; i < 4; i++) {
                out.write("test " + "\n");
            }
            out.close();
        } catch (IOException e) {}
    }
}
Run Code Online (Sandbox Code Playgroud)

java

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

使用xslt stylesheet将xml文档转换为逗号分隔(CSV)文件

我需要一些帮助,使用xslt样式表将xml文档转换为CSV文件.我试图使用以下xsl,我似乎无法正确.我希望我的逗号分隔文件包含列标题,然后是数据.我最大的问题是删除最后一项之后的最后一个逗号并插入一个回车符,以便每组数据显示在一个单独的行上.我一直在使用XML Notepad.

  <xsl:template match="/">
        <xsl:element name="table">
              <xsl:apply-templates select="/*/*[1]" mode="header" />
              <xsl:apply-templates select="/*/*" mode="row" />
        </xsl:element>
  </xsl:template>

  <xsl:template match="*" mode="header">
        <xsl:element name="tr">
              <xsl:apply-templates select="./*" mode="column" />
        </xsl:element>
  </xsl:template>

  <xsl:template match="*" mode="row">
        <xsl:element name="tr">
              <xsl:apply-templates select="./*" mode="node" />
        </xsl:element>
  </xsl:template>

  <xsl:template match="*" mode="column">
        <xsl:element name="th">
              <xsl:value-of select="translate(name(.),'qwertyuiopasdfghjklzxcvbnm_','QWERTYUIOPASDFGHJKLZXCVBNM ')" />
        </xsl:element>,
  </xsl:template>

  <xsl:template match="*" mode="node">
        <xsl:element name="td">
              <xsl:value-of select="." />
        </xsl:element>,
  </xsl:template> 
Run Code Online (Sandbox Code Playgroud)

xml csv xslt

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

标签 统计

java ×2

xml ×2

csv ×1

dom4j ×1

xslt ×1