문제

내가 찾는 것은 좋은 자바 스크립트 라이브러리에 대한 XML 구문 분석 데이터입니다.해야하는 것보다 쉽게 사용할 수 있는 내장 XML DOM parsers 번들로 제공됩 브라우저입니다.

나는 버릇없는 조금 작업 JSON 앞으로도 뭔가에서 유사한 라인에 대한 XML.

도움이 되었습니까?

해결책

내가 사용하는 jQuery 니다.여기에는 좋은 예를 들어:

(편집:참고-다음의 블로그 보면 멀리 갔다.)

http://blog.reindel.com/2007/09/24/jquery-and-xml-revisited/

거기에는 또한 많은 좋은 예제 jQuery 문서:

http://www.webmonkey.com/tutorial/Easy_XML_Consumption_using_jQuery?oldid=20032

편집:때문에 블로그에 대한 내 주를 들어 멀리 가고 싶어하는 추가 또 다른 예는 기본적인 방법을 보여 줍니다 도와 네임스페이스 문제는:

http://www.zachleat.com/web/selecting-xml-with-javascript/

다른 팁

면책 조항: 나는 저자는 경우 오픈 소스 Jsonix 라이브러리 적합한 작업입니다.


의 몇 년 전 나는 또한 좋은 찾고 있는 XML<->JSON 분석/직렬화 라이브러리에 대한 자바 스크립트.나는 데 필요한 프로세스 XML 문서에 따라 복잡한 XML 스키마.Java,나는 정기적으로 사용 를 포함 작업에 대한 그래서 뭔가를 찾고 있었 유사:

거기에 자바스크립트 API for XML 바인딩-아날로그을 포함한 Java?

나는 실패했을 찾아 같은 도구습니다.

그래서 내가 쓴 Jsonix 하는 것을 포함한 아날로그에 대한 자바 스크립트.

당신이 찾을 수 있습니다 Jsonix 적합합,에 관심이 있는 경우 다음과 같은 기능:

  • XML<->JSON 변환에 기초 declaraive mapping JSON 및 XML 구조
  • 매핑에서 생성된 XML 스키마 또는 서면동
  • 양방향 -지원합 구문 분석뿐만 아니라 직렬화(또는 작성된/마샬링이 다른 측면에서).
  • 지원 , 특성 고 고도 네임스페이스 에 정의된 XML 문서입니다.
  • 엄격하게 입력해야한다.
  • 엄격하게 구성되어 있습니다.
  • 지원 거의 모든의 XML 스키마가 내장된 형식 (등 특별한 형식 QName).
  • 에서 작동 브라우저 뿐만 아니라 Node.js, 또한 호환 RequireJS/AMD (도 amdefine 에 Node.js)
  • 광범위한 문서.

그러나,Jsonix 될 수 있는 잔인, 하는 경우,XML 은 오히려하지 않고,간단하 XML 스키마나 관심이 없는 경우 엄격한 입력 또는 구조입니다.을 확인 요구 사항입니다.

에 JSFiddle.

할 수 있는 구매 주문 스키마 과 생성에 대한 매핑을 사용하여 다음과 같은 명령을 실행합니다:

java -jar node_modules/jsonix/lib/jsonix-schema-compiler-full.jar
  -d mappings -p PO purchaseorder.xsd

당신을 얻을 것 PO.js 파일 설명하는 사이의 매핑을 XML 및 자바스크립트 구조물입니다.여기에 조각에서 이러한 매핑을 줄 당신은 느낌:

var PO = {
    name: 'PO',
    typeInfos: [{
        localName: 'PurchaseOrderType',
        propertyInfos: [{
            name: 'shipTo',
            typeInfo: 'PO.USAddress'
        }, {
            name: 'billTo',
            typeInfo: 'PO.USAddress'
        }, {
            name: 'comment'
        }, {
            name: 'orderDate',
            typeInfo: 'Calendar',
            type: 'attribute'
        }, ...]
    }, {
        localName: 'USAddress',
        propertyInfos: [ ... ]
    }, ...],
    elementInfos: [{
        elementName: 'purchaseOrder',
        typeInfo: 'PO.PurchaseOrderType'
    }, ... ]
};

이에 매핑할 수 있는 파일 구문 분석 XML:

// First we construct a Jsonix context - a factory for unmarshaller (parser)
// and marshaller (serializer)
var context = new Jsonix.Context([PO]);

// Then we create a unmarshaller
var unmarshaller = context.createUnmarshaller();

// Unmarshal an object from the XML retrieved from the URL
unmarshaller.unmarshalURL('po.xml',
    // This callback function will be provided
    // with the result of the unmarshalling
    function (unmarshalled) {
        // Alice Smith
        console.log(unmarshalled.value.shipTo.name);
        // Baby Monitor
        console.log(unmarshalled.value.items.item[1].productName);
    });

거나 직렬화 자바스크립트로 개체 XML:

// Create a marshaller
var marshaller = context.createMarshaller();

// Marshal a JavaScript Object as XML (DOM Document)
var doc = marshaller.marshalDocument({
    name: {
        localPart: "purchaseOrder"
    },
    value: {
        orderDate: { year: 1999, month: 10, day: 20 },
        shipTo: {
            country: "US",
            name: "Alice Smith",
            street: "123 Maple Street",
            city: "Mill Valley",
            state: "CA",
            zip: 90952
        },
        billTo: { /* ... */ },
        comment: 'Hurry, my lawn is going wild!',
        items: { /* ... */ }
    }
});

당신은 그것을 시도할 수 있습니다 에 JSFiddle 을에서 작동하는 방법을 참조하십시오습니다.


추가 면책 조항: 이 대답은 높은 투표문의 다음과 같은 토론 에 meta. 도록주의하십시오"메타-효과". 높은 투표 같은 것을 의미하지 않는 Jsonix 좋은,적용 가능한 또는 추천에 의하여 커뮤니티입니다.하지 않는 것으로 오는 높은 표입니다.

하는 경우 XML 은 간단한 형식으로 보일 수 있습니다 jQueryXML JSON 으로 플러그인xmlObjectifier.

직선 파서 당신은 수도에서 보고 싶 XML <SCRIPT>.

을 시도했다 XML 에 대한 스크립트.나는 것을 인정해야,나는 사용하지 않은 그것을 개인적으로,그러나 내가 듣기/읽기 전에는 몇 가지 좋은 일들에 대해니다.

그것을 시도하고 어쩌면 당신의 경험을 공유 여기에?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top