PHP 코드 simplexml_load_file을 사용하여 첫 번째 인스턴스에서 XML 코드를 전달하려고합니다. 다음과 같이 현재 PHP 코드는 매우 간단하다 : php5 simple_xml_file 구문 분석 오류
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
} else {
exit('Failed to open test.xml.');
}
그러나이 파일을 실행에는 먼저 URI PostcodeAnywhere 절대 아니라고 구문 분석 오류를 제공합니다. 궁극적으로 스크립트는 'String을 XML로 파싱 할 수 없습니다'라는 오류를 발생시킵니다.
XML 파일 자체의 유효성을 검사하는 것으로 보이며 오류가 표시되지 않습니다. 나도 몰라
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="PostcodeAnywhere">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="Items" type="xs:string" minOccurs="0" />
<xs:element name="BillingModel" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table1 diffgr:id="Table11" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<Id>3898</Id>
<Name>DIA Members</Name>
<Items />
<BillingModel>PREPAID</BillingModel>
</Table1>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
실제로 그 점을 확인하십시오. 도움에 큰 감사드립니다. – simnom