XML 1.1编号版本对xml文档无效

时间:2015-09-30 10:35:34

标签: xml vb.net version xmldocument

我有一个像这样的xml文档

    <?xml version="1.1" encoding="UTF-8" standalone="yes"?>
    <p:FatturaElettronica versione="1.1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://www.fatturapa.gov.it/sdi/fatturapa/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <FatturaElettronicaHeader>
            <DatiTrasmissione>
                <IdTrasmittente>
                    <IdPaese>IT</IdPaese>
...

如果我使用:

Dim doc As New XmlDocument()
doc.Load(filePath)

我收到错误:

  

1.1不是有效版本

为什么,如何使用此版本读取xml?

由于

2 个答案:

答案 0 :(得分:0)

试一试。它假定没有第一行没有后果。

    Dim fileLines As List(Of String) = IO.File.ReadAllLines(filePath).ToList
    fileLines.RemoveAt(0)
    Dim fileAsString As String = String.Join(Environment.NewLine, fileLines)

    Dim xe As XElement = XElement.Parse(fileAsString)

    Dim doc As New XmlDocument()
    doc.Load(xe.CreateReader)

答案 1 :(得分:0)

如果从http://www.fatturapa.gov.it/export/fatturazione/it/a-3.htm下载文件FatturaPA的示例,您会注意到xml版本为1.0。

<?xml version="1.0" encoding="UTF-8"?>
<p:FatturaElettronica versione="1.1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://www.fatturapa.gov.it/sdi/fatturapa/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

所以也许你的档案不正确。