XML 요소 가져오기안녕,
아래 코드 조각과 비슷한 구조의 XML 파일을 읽으려고 합니다.
<상위 요소>
<요소 1>참
<요소 2>참
<요소 3>거짓
요소 이름을 호출하여 Parse XML을 사용하는 방법을 알고 있지만 문서에는 내 코드에서 구체적으로 호출하고 싶지 않은 수백 개의 서로 다른 요소 이름이 있습니다.다음과 같이 Text()를 사용하여 이들 각각에 대한 속성 정보를 가져올 수 있음을 이해합니다.
정보 = "";
XML(xml,
요소("최상위 요소",
Text( info= info|| Trim( XML Text() ) || " " )
)
);
정보의 결과가 "True True False"이므로 목록으로 구문 분석할 수 있습니다.그러나 False 실제 값이 무엇에 속하는지 쉽게 알 수 없기 때문에 이 코드를 실제로 사용하고 싶지는 않습니다.어쨌든 XML 파일의 모든 요소를 가져온 다음 속성 정보를 얻기 위해 해당 요소에 대한 Parse XML 함수를 재귀적으로 호출할 수 있습니까?
감사해요,
브랜든
스크립팅Re: XML 요소 가져오기@Craige_Hales ,
와우! JMP15에서 xmlwizard를 놓쳤습니다. 좋은 기능입니다.스크린샷 감사합니다.
Re: XML 요소 가져오기빠른 답변 감사합니다.XML 마법사를 사용하여 작동시킬 수 있었습니다.
Re: XML 요소 가져오기1) XML 마법사를 사용해보십시오. XML의 구조를 추측하는 여러 가지 방법과 추측을 조정하는 GUI가 있습니다. 추측을 테스트하는 경우를 제외하고는 GUI를 활용하지 못할 수도 있습니다.
XML Wizard can be opened via File->Open or from JSL as shown.XML Wizard can be opened via File->Open or from JSL as shown.XML 마법사는 파일->열기를 통해 열거나 그림과 같이 JSL에서 열 수 있습니다.
추측 중 하나가 작동하면 필요한 추측 옵션을 지정하기만 하면 됩니다.
dt=open(file,guess("wide"),xmlwizard(0));2) 파일을 테이블로 직접 엽니다. 아래의 open(file)은 아마도 거대한 추측을 사용하여 이것을 생성합니다. XML 확장이 필요합니다.
dt=open(file);
elementselements강요
3) 또는 이와 같은 것
file=savetextfile("$temp/xxx.xml","<TOPELEMENT>
<ELEMENT1>True</ELEMENT1>
<ELEMENT2>True</ELEMENT2>
<ELEMENT3>False</ELEMENT3>
</TOPELEMENT>");
show(loadtextfile(file,xmlparse(1)));
// {TopElement(Element1("True"), Element2("True"), Element3("False"))};xmlparse는 xml 구조를 JSL 표현식 트리로 변환합니다. 참조 XML 임포터 추가 기능 구문 분석된 식 트리에서 데이터 테이블을 만드는 방법입니다. 추가 기능에 대한 설명 .
XML 마법사는 대부분의 경우 추가 기능을 대체할 수 있습니다.