【发布时间】:2017-03-05 03:21:14
【问题描述】:
请帮助我从复杂的 XML 中提取数据到 oracle 中的行中。 我尝试了提取值,但它给出了错误:
ora-31011 xml 解析失败
xml处理中出现ora-19202错误
在输出 xml 下方:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Body>
<GetEmploymentStatusMultipleResponse xmlns="http://MSB.Services.Integration.External.ServicesContracts.GOSI.IGOSIService">
<GetEmploymentStatusMultipleResult xmlns:b="http://MSB.Services.Integration.External.DataContracts.GOSI.MultipleEmploymentStatusStructure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<b:EmploymentStatusStructure xmlns:c="http://MSB.Services.Integration.External.DataContracts.GOSI.EmploymentStatusStructure">
<c:EmploymentStatusStructure>
<c:Contributor xmlns:d="http://MSB.Services.Integration.External.DataContracts.GOSI.ContributorStructure">
<d:ContributorID xmlns:e="http://MSB.Services.Integration.External.DataContracts.GOSI.NationalIdentifierSummaryStructure">
<e:NationalID>1086828181</e:NationalID>
</d:ContributorID>
</c:Contributor>
<c:ContributorName xmlns:d="http://MSB.Services.Integration.External.DataContracts.GOSI.PersonNameDetailsStructure">
<d:Item xmlns:e="http://MSB.Services.Integration.External.DataContracts.GOSI.PersonNameBodyStructure">
<e:Title i:nil="true" xmlns:f="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<e:Prefix i:nil="true" xmlns:f="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<e:FirstName>test1</e:FirstName>
<e:SecondName>test2</e:SecondName>
<e:ThirdName>test3</e:ThirdName>
<e:FourthName i:nil="true"/>
<e:LastName>test4</e:LastName>
<e:Suffix i:nil="true" xmlns:f="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
</d:Item>
<d:Language>AR</d:Language>
</c:ContributorName>
<c:ContributorStatus>2</c:ContributorStatus>
</c:EmploymentStatusStructure>
</b:EmploymentStatusStructure>
</GetEmploymentStatusMultipleResult>
</GetEmploymentStatusMultipleResponse>
</s:Body>
</s:Envelope>
【问题讨论】:
-
XML 在语法上是有效的。显示 COMPLETE 错误消息和任何堆栈跟踪。
-
嗨 Jim,我尝试通过运行以下命令来检索标签“NationalId”:选择 Extractvalue(X, '/s:Envelope/s:Body/GetEmploymentStatusMultipleResponse/GetEmploymentStatusMultipleResult/b:EmploymentStatusStructure/c: EmployStatusStructure/c:Contributor/d:ContributorID/e:NationalID') 从 Dual 到 Var1;
-
错误信息是:ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00601: Invalid token in: '\s :Envelope\s:Body\GetEmploymentStatusMultipleResponse\GetEmploymentStatusMultipleResult\b:EmploymentStatusStructure\c:EmploymentStatusStructure\c:Contributor\d:ContributorID\e:NationalID'
-
请不要在 cmets 中添加信息,改为edit您的帖子。
-
看起来 xsd 验证失败。检查
xmlns:e(http://MSB.Services.Integration.External.DataContracts.GOSI.PersonNameBodyStructure)引用的xsd