Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未声明使用java命名空间前缀将XML保存到CSV_Java_Xml_Csv - Fatal编程技术网

未声明使用java命名空间前缀将XML保存到CSV

未声明使用java命名空间前缀将XML保存到CSV,java,xml,csv,Java,Xml,Csv,我试图用java将XML文件保存到CSV,但收到“名称空间前缀”lst“is undeclared”错误消息 这是XSL文件: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" encoding="UTF-8"/> <xsl:template match="/listInvoice"> &

我试图用java将XML文件保存到CSV,但收到“名称空间前缀”lst“is undeclared”错误消息

这是XSL文件:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>

<xsl:template match="/listInvoice">
    <!-- header -->
    <xsl:text>nieco&#10;</xsl:text>
    <!-- data -->
    <xsl:for-each select="lst:invoice/inv:invoiceHeader">
        <!-- classroom data -->
        <xsl:variable name="inv:invoiceHeader">
            <xsl:value-of select="@inv:id" />
            <xsl:text>,</xsl:text>

        </xsl:variable>

    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>
请问哪里有问题? 可能是因为xml标记由分号分隔的两部分组成吗


谢谢

这有帮助吗?你好,安德里亚。我试过了,没有,它不起作用:(是否确认它有效?
<?xml version="1.0" encoding="UTF-8"?>
<listInvoice>
  <lst:invoice>
    <inv:invoiceHeader>
      <inv:id>9136</inv:id>
      <inv:invoiceType>issuedInvoice</inv:invoiceType>
      <inv:number>
        <typ:id>435</typ:id>
        <typ:numberRequested>1710203</typ:numberRequested>
        </inv:number>
</inv:invoiceHeader>
 </lst:invoice>
  </listInvoice>  
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.Document;

    class XMLtoCsVConversion2 {

        public static void main(String args[]) throws Exception {
            File stylesheet = new File("new.xsl");
            File xmlSource = new File("test.xml");

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse(xmlSource);

            StreamSource stylesource = new StreamSource(stylesheet);
            Transformer transformer = TransformerFactory.newInstance()
                    .newTransformer(stylesource);
            Source source = new DOMSource(document);
            Result outputTarget = new StreamResult(new File("xyz.csv"));
            transformer.transform(source, outputTarget);
        }
    }