Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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_Xslt - Fatal编程技术网

Java 如果存在子节点,如何使用正确的样式表将XML转换为CSV

Java 如果存在子节点,如何使用正确的样式表将XML转换为CSV,java,xml,csv,xslt,Java,Xml,Csv,Xslt,我在为下面的xml代码创建.xsl文件时遇到问题。我想把它变成一个csv文件 XML: <?xml version="1.0" encoding="utf-8"?> <info infoID="Info_ABC"> <descriptions> <description descriptionId="1" descriptionName="Test1"> <functions> <func

我在为下面的
xml
代码创建
.xsl
文件时遇到问题。我想把它变成一个
csv
文件

XML:

<?xml version="1.0" encoding="utf-8"?>
<info infoID="Info_ABC">
  <descriptions>
    <description descriptionId="1" descriptionName="Test1">
      <functions>
        <function functionId="123">
          <programs>
            <program programName="Xml2Csv">
              <objects>
                <object objectId="111" objectLevel="Green" status="Yes"/>
                <object objectId="222" objectLevel="Blue" status="No"/>
                <object objectId="333" objectLevel="Red" status="Maybe"/>
              </objects> 
              <objects2>
                <object objectId="444" objectLevel="Yellow" status="Yes"/>
                <object objectId="555" objectLevel="Purple" status="Yes"/>
              </objects2>
            </program>
          </programs>
        </function>
        <function functionId="456">
          <programs>
            <program programName="Xml5Csv">
              <objects>
                <object objectId="666" objectLevel="Green" status="Yes"/>
                <object objectId="777" objectLevel="Blue" status="No"/>
                <object objectId="888" objectLevel="Red" status="Maybe"/>
              </objects> 
              <objects2>
                <object objectId="999" objectLevel="Yellow" status="Yes"/>
                <object objectId="897" objectLevel="Purple" status="Yes"/>
              </objects2>
            </program>
          </programs>
        </function>
      </functions>
    </description>
  </descriptions>
</info>

使用
迭代叶
元素,并在循环中使用例如
访问祖先属性


(顺便说一句,你没有说任务的哪一部分有困难,所以我不得不猜测。)

改进了格式和语法Hey@Michael Kay,首先,我在创建一个完整的.xsl文件时遇到了问题。我正在寻找能够提供上述csv结果的xsl代码。TackOverflow是一个提问和获取答案的网站,而不是让人们为您编写代码的网站。如果您在编写代码时遇到特殊问题,请提出新问题。
Header:
info_ABC,description_id,description_name,function_id,program_name,objectId,objectLevel,status

Data:
info_ABC,1,Test1,123,Xml2CSV,111,Green,Yes
info_ABC,1,Test1,123,Xml2CSV,222,Blue,No
info_ABC,1,Test1,123,Xml2CSV,333,Red,Maybe
info_ABC,1,Test1,123,Xml2CSV,444,Yellow,Yes
info_ABC,1,Test1,123,Xml2CSV,555,Purple,Yes
info_ABC,1,Test1,456,Xml5CSV,666,Green,Yes
info_ABC,1,Test1,123,Xml2CSV,777,Blue,No
info_ABC,1,Test1,123,Xml2CSV,888,Red,Maybe
info_ABC,1,Test1,123,Xml2CSV,999,Yellow,Yes
info_ABC,1,Test1,123,Xml2CSV,897,Purple,Yes