0
XML 단순 개체를 만들려고하지만 정의되지 않은 도메인에 대한 오류가 계속 발생합니다. 내가 본 모든 예제는 XML 파일에 정의 된 URL의 일부 유형을 가지고 있지만 CURL 호출에서받은 XML에는 해당 URL이 없으므로 무엇을해야할지 완전히 확신하지 못합니다.XML 네임 스페이스를 정의하는 방법
<?xml version="1.0" encoding="UTF-8" ?>
<Items>
<Item>
<ActivityName>Faculty Lecture</ActivityName>
<ParentActivityName>Faculty Lecture</ParentActivityName>
<Description></Description>
<StartDate>2/1/2017 12:00:00 AM</StartDate>
<EndDate>2/1/2017 12:00:00 AM</EndDate>
<StartMinute>990</StartMinute>
<EndMinute>1080</EndMinute>
<CampusName>MAIN</CampusName>
<BuildingCode>LIB</BuildingCode>
<RoomNumber>105</RoomNumber>
<RoomName>News Events Room</RoomName>
<Customer:EventMeetingByActivityId.Event.Customer.Name>Library</Customer:EventMeetingByActivityId.Event.Customer.Name>
<ContactFirstName:EventMeetingByActivityId.Event.PrimaryCustomerContact.Person.FirstName>Jane</ContactFirstName:EventMeetingByActivityId.Event.PrimaryCustomerContact.Person.FirstName>
<ContactLastName:EventMeetingByActivityId.Event.PrimaryCustomerContact.Person.LastName>Doe</ContactLastName:EventMeetingByActivityId.Event.PrimaryCustomerContact.Person.LastName>
<MeetingType:EventMeetingByActivityId.EventMeetingType.Name>Meeting</MeetingType:EventMeetingByActivityId.EventMeetingType.Name>
</Item>
</Items>
다음은 경고를 표시하는 코드입니다.
$data = simplexml_load_string($result);
$data->registerXPathNamespace('Customer', 'https://www.aaiscloud.com/');
$data->registerXPathNamespace('ContactFirstName', 'https://www.aaiscloud.com/');
$data->registerXPathNamespace('ContactLastName', 'https://www.aaiscloud.com/');
$data->registerXPathNamespace('MeetingType', 'https://www.aaiscloud.com/');
$ 결과를 편집하고 도메인을 제거하면 경고가 사라 지지만이 작업이 현명한 작업인지 확실하지 않습니다.
$ 결과 (xml 파일)는 외부 회사에서 검색 한 것입니다. 이것은'simplexml_load_string' 전에 문자열을 조작해야한다는 것을 의미합니까? – blu
선언되지 않은 네임 스페이스 접두사를 사용하는 "XML"이 제공되는 경우 XML이 전혀 제공되지 않습니다. 공급자에게 데이터를 수정하도록 알린다. 그럴 수 없다면 위에 나온 XML 도구 나 라이브러리를 사용하기 전에 데이터를 수동으로 또는 텍스트 개체를 XML이 아닌 텍스트가 아닌 * 텍스트 *로 처리해야합니다. 그것. – kjhughes