비공식 XML 형식을 기반으로 PHP 객체를 비 직렬화 및 직렬화에 대한 통찰력을 제공 할 수 있다면 가장 감사하게 생각합니다. 나는 PHP로 설정할 수 없다. 누구나 쉽게 생각한다면 Perl, Ruby 또는 Java를 기꺼이 사용할 것입니다.PHP (또는 Ruby/Perl/Java의 경우 쉽게 사용자 정의 직렬화/비 직렬화)
내가 예상하는 작업을하고있어 API 그래서 (그것은 도서관 시스템 아니지만,이 예제는 매우 잘 API 설명)처럼 호출하기 :
<request>
<method>getBookInfo</method>
<elements>
<type>bookObject</type>
<string>bookTitle</string>
<string>2001: A Space Odyssey</string>
</elements>
</request>
을 그리고 다음과 같은 응답을 제공합니다
<response>
<method>getBookInfo</method>
<elements>
<type>bookObject</type>
<string>bookId</string>
<string>12345</string>
<string>bookTitle</string>
<string>2001: A Space Odyssey</string>
<string>locations</string>
<list>
<length>3</length>
<string>High St Library</string>
<string>Queen St Library</string>
<string>Downtown Library</string>
</list>
</elements>
</response>
그것은 <key>value</key>
형식을 사용하는 경우 그것은 간단 것이지만, <string>value</string>
형식 다음에 <string>key</string>
나를 당황 가지고있다.
모든 도움을 주시면 감사하겠습니다.
미리 감사드립니다.
-
편집 - 샘플 PHP 클래스는 너무 오래 코멘트에 대한 가능한 해결책
class Book {
var $bookId;
var $bookTitle;
var $locations = array('location1', 'location 2');
}
'. *'를 사용하고 싶다면, 욕심이 없도록하기 위해서'. * '가 필요하다. 그렇지 않으면 _first_ 개구부''부터 _last_ closing 태그까지 모든 것을 하나의 태그로 잡을 것이다. 시합. 또 다른 대안은 '[^ <] *'일 것이고, 그것은'< '문자와 일치하지 않기 때문에 탐욕 문제를 깔끔하게 피할 수 있습니다. –
@DaveSherohman 그래, 나는 각 줄마다 하나의 태그 쌍만 있고 그 유형, 키 및 값에는'< '가 없다고 가정했다. 모든 라인을 개별적으로 매칭한다는 의미였습니다. 다시 말해서 라인을 반복하는 것이 었습니다. – DeVadder