Java 将XML数据读入文本文件
我是一个非常新的编码,谁能帮我纠正我的代码。 我需要读取XML数据并将数据存储在文本文件中。每个值必须用逗号分隔,一旦读取了一条记录的数据,就需要转到下一行并执行另一条记录 示例XML文件:Java 将XML数据读入文本文件,java,xml-parsing,domparser,Java,Xml Parsing,Domparser,我是一个非常新的编码,谁能帮我纠正我的代码。 我需要读取XML数据并将数据存储在文本文件中。每个值必须用逗号分隔,一旦读取了一条记录的数据,就需要转到下一行并执行另一条记录 示例XML文件: <?xml version="1.0" encoding="UTF-8"?> <xml_tool xmlns:md="http://www.example.com/XT/1.0/"> <md:header> <md:a
<?xml version="1.0" encoding="UTF-8"?>
<xml_tool xmlns:md="http://www.example.com/XT/1.0/">
<md:header>
<md:application_version>1.0</md:application_version>
<md:export_date>19-04-2012</md:export_date>
<md:export_time>14:55</md:export_time>
<md:export_user>USER01</md:export_user>
</md:header>
<md:table table_name="CUSTOMER" key="customer number" record_count="2" column_count="5">
<md:record>
<md:column name="customer_number">123456</md:column>
<md:column name="reg_date">01-04-2012</md:column>
<md:column name="customer_name">Test Customer</md:column>
<md:column name="customer_type">Normal </md:column>
<md:column name="comments">This is a test record</md:column>
</md:record>
<md:record>
<md:column name="customer_number">555111</md:column>
<md:column name="reg_date">02-04-2012</md:column>
<md:column name="customer_name">Test Customer</md:column>
<md:column name="customer_type"> </md:column>
<md:column name="comments">This is a test record</md:column>
</md:record>
</md:table>
</xml_tool
预期产出:
123456,01-04-2012,Test Customer,Normal,This is a test record
555111,02-04-2012,Test Customer, ,This is a test record
我怀疑这是你的问题:
String name = nd.getTextContent();
if (name != null)
您可能需要:
String name = nd.getTextContent();
if (name != null && name.length() > 0)
如果(name!=null)更改为
如果(name!=null&&!name.trim().equals(“”)
123456,01-04-2012,测试客户,正常,这是一条测试记录,555111,02-04-2012,测试客户,VIP,这是一条测试记录,当最后一个值读取不应执行“,”的数据时,我以这种方式获得输出当它读取没有数据的空标记时,它需要写入空空间,如果(name!=null&&!name.trim().equals(“”)我完全删除了一个标记,那么要么将for循环条件更改为nList.getLength()-1
,然后在for循环外部手动追加第n条记录(您可能希望将整个块移动到一个方法中,并在for循环内外调用该方法),或者简单地覆盖文件中的最后一个。使用RandomAccessFile(检查javadocs)或修改for循环以写入n-1条记录,并在for循环外写入第n条记录
String name = nd.getTextContent();
if (name != null)
String name = nd.getTextContent();
if (name != null && name.length() > 0)