当前位置: 首页 > 知识库问答 >
问题:

XML解析错误“格式正确”

薛文斌
2023-03-14

我有XML数据在数据库(不是文件),我需要解析它,以提供可能写测试来验证数据在XML

xml(内容数据):

 <brid:AccountData xmlns:brid="http://billing.a1telekom.at/BridgeIT/BridgeITDefinition">
 <brid:AccountNumber>250000000032</brid:AccountNumber>
 <brid:CustomerNumber>100104653</brid:CustomerNumber>
 <brid:AccountType>NORM</brid:AccountType>
 <brid:BillCycle>M2</brid:BillCycle>
 <brid:LastInvoiceDate>0001-01-01T00:00:00.000</brid:LastInvoiceDate>
 <brid:BillThroughDate>0001-01-01T00:00:00.000</brid:BillThroughDate>
 <brid:StartDate>2016-02-26T15:27:13</brid:StartDate>
 <brid:EndDate>9999-12-31T23:59:59.000</brid:EndDate>
 <brid:AccountStatus>Active</brid:AccountStatus>
 <brid:TaxCode>U2</brid:TaxCode>
 <brid:CostCentre></brid:CostCentre>
</brid:AccountData>
<brid:PaymentData xmlns:brid="http://billing.a1telekom.at/BridgeIT/BridgeITDefinition">
 <brid:PaymentMethod>Manual</brid:PaymentMethod>
</brid:PaymentData>
<brid:MediaData xmlns:brid="http://billing.a1telekom.at/BridgeIT/BridgeITDefinition">
 <brid:AccountNumber>250000000032</brid:AccountNumber>
 <brid:MediaType>PAPIER</brid:MediaType>
 <brid:StartDate>2016-02-26T15:27:13</brid:StartDate>
 <brid:EndDate>9999-12-31T23:59:59.000</brid:EndDate>
 <brid:InvoiceName>ApuiafgjkLrjgdna Fouydf</brid:InvoiceName>
 <brid:Language>DE</brid:Language>
 <brid:LocationID>118298</brid:LocationID>
 <brid:FirstName>Fouydf</brid:FirstName>
 <brid:LastName>ApuiafgjkLrjgdna</brid:LastName>
 <brid:TitleCode></brid:TitleCode>
 <brid:TitleText></brid:TitleText>
 <brid:Prefix></brid:Prefix>
 <brid:Suffix>Cxvb</brid:Suffix>
 <brid:Currency>EUR</brid:Currency>
 <brid:Format>2</brid:Format>
 <brid:Atomized>N</brid:Atomized>
</brid:MediaData>
ackage simbaOnlineReplacement;

import java.io.StringReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import ta.maxcare.help.DBSor;




public class XMLTest2 {
    public static void main(String[] args) {

        try {
            String data = new DBSor().getContentData("106897066");

            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            InputSource is = new InputSource(new StringReader(data));
            Document doc = dBuilder.parse(is);
            doc.getDocumentElement().normalize();
            System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
            NodeList nList = doc.getElementsByTagName("MediaData");
            System.out.println("----------------------------");
            for (int temp = 0; temp < nList.getLength(); temp++) {
                Node nNode = nList.item(temp);
                System.out.println("\nCurrent Element :" + nNode.getNodeName());
                if (nNode.getNodeType() == Node.ELEMENT_NODE) {
                    Element eElement = (Element) nNode;

                    System.out.println("First Name : " + eElement.getElementsByTagName("FirstName").item(0).getTextContent());

                    System.out.println("LastName : " + eElement.getElementsByTagName("LastName").item(0).getTextContent());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

[致命错误]:14:2:根元素后面的文档中的标记必须格式良好。org.xml.sax.SaxParseException;亚麻编号:14;专栏编号:2;根元素后面的文档中的标记必须格式良好。位于com.sun.org.apache.xerces.internal.parsers.domparser.parse(未知来源)位于com.sun.org.apache.xerces.internal.jaxp.documentBuilderImpl.parse(未知来源)位于simbaonlineReplacement.xmlTest2.main(xmlTest2.java:23)

共有1个答案

叶英哲
2023-03-14

在格式良好的XML中,必须有一个根元素。Brid:AccountDataBrid:PaymentDataBrid:Mediadata处于同一级别,这是错误的。例如,您应该有一个包含它们的根元素。

 类似资料:
  • 我不明白为什么我一直收到这个错误消息: 在此行中找到多个注释: < li >文档中根元素后面的标记必须格式良好。 < li >错误:解析XML时出错:文档元素后的垃圾信息 该错误在下面的开头找到: XML:

  • 问题内容: 目前,我正在开发一项功能,该功能涉及解析从另一产品收到的XML。我决定对一些实际的客户数据进行一些测试,看起来其他产品正在允许来自用户的输入被认为是无效的。无论如何,我仍然必须尝试找出一种解析它的方法。我们正在使用,但输入出现错误,如下所示。 如你所知,说明中包含似乎是无效标签的内容。现在,此描述标签被称为是叶子标签,并且其中不应包含任何嵌套标签。无论如何,这仍然是一个问题,并且会在

  • 问题内容: 我使用jQuery Ajax,如下所示: 即使我没有在Chrome中设置dataType,它也能很好地工作,但是,它在FF中失败,并带有XML解析错误。 响应Headersview源 服务器Apache-Coyote / 1.1 传输编码大块 数据日期,星期二,2011年10月4日00:08:08 GMT 请求Headersview源 主机localhost:8080 用户代理Mozi

  • 我需要将一个工作项目从Eclipse导入Android Studio 2.1,并从Gradle控制台收到以下消息 正在执行的任务:[:app:generateDebugSources,:app:mockableAndroidJar,:app:prepareDebugUnitTestDependencies,:app:generateDebugAndroidTestSources] 按需配置是一个孵

  • 到处都找不到。我已经找了一个多小时了,现在运气不佳。你看到了吗?

  • 我有以下错误:错误:(2)解析XML时出错:格式不正确(无效令牌) 错误:任务执行失败:应用程序:进程DebugResources。 com.android.ide.common.process.ProcessExcture:org.gradle.process.internal.ExecExc0019:进程'命令'E:\AndroidSdk\sdk\build-ols\23.0.2\aapt.e