JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제안녕하세요. 저는 수백 개의 XML 파일을 가져오려고 합니다. 이러한 파일은 단일 행으로 들어와야 하고 일부 행은 여러 열로 분할되어야 합니다. 제가 아는 한 XML 가져오기 마법사는 종료되었습니다. 시작점으로 가져오기 마법사의 코드를 사용해 보았지만 A) 많은 뉘앙스를 쉽게 넣는 방법을 알 수 없었습니다(예: 텍스트를 열로 분할하도록 지정하고 하나의 열은 최대 35k 항목 csv 형식이 됨). 문자열) 및
XML 설정에 대한 문서를 많이 찾지 못했습니다. Parse XML에 대한 문서와 커뮤니티 지원을 모두 찾았습니다. 그러나 저는 꽤 오랫동안 포럼과 스크립팅 인덱스(그리고 어쩌면 ChatGPT에 대한 다소 도움이 되지 않는 쿼리)에서 찾은 코드를 아무 소용이 없도록 수정하려고 노력해 왔습니다. 나는 jsl(및 일반적인 코딩)에 대해 매우 초보이기 때문에 이것은 매우 간단할 수 있습니다.
이것이 내가 지금 얻은 것입니다. 더 많은 것이 있지만 시작하려면 XML 데이터에 액세스하고 Parse 명령을 올바르게 사용할 수 있기를 원하지만 생성된 테이블 외에는 아무것도 가져오는 데 심각한 문제가 있습니다. 테이블이 이름 없이 표시되므로 속성을 올바르게 가져옵니다.
// Specify your preferred default folder
default_folder = "G:\My Drive\Edward H Chandler, Jr\VCU - Research\CERCAS\Project 46\XRD";
Set Default Directory( default_folder );
// Use the default folder to pick a file
file contents = Load Text File( Pick File(default_folder) );
Parse XML( file contents,
On Element(
"http://www.xrdml.com/XRDMeasurement/2.1^sample",
StartTag(
sheetname = XML Attr(
"http://www.xrdml.com/XRDMeasurement/2.1^type"
);
dt = New Table( sheetname );
row = 1;
col = 1;
)
)
);나는 주로 여기 그리고 여기 , 그러나 첫 번째 링크에 "Untitled"와 함께 XML Attr 명령에 두 번째 용어를 포함하는 것과 같은 문서화되지 않은 구문이 있다는 것을 발견했습니다. 따라서 이 코드가 일반적으로 적용 가능한지는 확실하지 않습니다. BigData 파일을 작업하기 위해 만들어진 것입니다. 나는 또한 아이들을 나타내기 위해 "^"를 사용하는 것에 대해 확신하지 못하지만 이 시점에서는 다소 혼란스럽습니다. 웹페이지라는 제목의 네임스페이스에 문제가 있을 수도 있다고 생각하지만, 제가 이해한 바는 문자열은 문자열입니다.
어쨌든 제안이나 의견이 있는 사람이 있나요? XML 설정 경로로 다시 전환할 수도 있습니다.
xml 파일 중 하나도 첨부했습니다. 원래는 .xrdml 파일이었지만 xml 파일로 구성되어 있는 것으로 알고 있으므로 파일 형식만 변경했습니다.
미리 감사드립니다!
자동화 및 스크립팅윈도우Re: JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제결국 데이터가 어떻게 보이길 바라나요?
Re: JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제안녕 @jthi - 그래서 제가 하려고 했던 방식은 모든 텍스트와 속성을 별도의 열에, 파일당 한 행씩 배치하고, 파일의 특정 부분에는 실제로 두 개 이상의 열(예: 수만 개의 열)로 구성된 텍스트를 포함하는 것이었습니다. csv 형식의 문자열을 끝 부분으로 입력하거나 처음 20개 행의 하위 및 상위 PHD 수준 줄과 유사). 그러나 실제로 값을 얻을 수 있게 되면 이를 분할하는 것은 매우 쉬운 것 같습니다.Re: JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제Wide Guess를 사용하면 꽤 멀리 갈 수 있지 않나요?

Re: JSL을 통한 XML 파일 가져오기, XML 구문 분석 명령 사용 및 하위 태그 액세스 관련 문제@jthi 답변 감사드리며 답변이 늦어 죄송합니다 - Welp. 폭넓은 추측이 확실히 좋은 방법입니다. 제가 클릭한 줄 알았는데, 뭔가 잘못 클릭한 것 같아요. 지적해 주셔서 감사합니다.
여기에 약간의 문제가 있는 추가 질문이 있습니다. 이것을 기존 시트로 가져오고 싶습니다. 기존 열과 일치하는 것처럼, 일치하지 않는 열이 있으면 오류 메시지가 표시될 수도 있습니다. 또한 구분 기호를 기준으로 특정 셀을 분할하고 싶기 때문에 Word() 함수를 사용하는 것 같습니다. 그러나 이 작업을 어떻게 빠르게 수행할 수 있는지 잘 모르겠습니다. 내가 생각해 낼 수 있는 최선의 방법은 중간 테이블을 만든 다음 스크립트가 테이블을 읽도록 하고 행을 복사할 사용자 입력 창을 갖고(행이 250개 이상일 것임) Word로 분할하는 동안 정보를 복사하는 것입니다. (), 모든 열이 일치하지 않으면 오류 메시지를 던지고 마지막에 더미 중간 테이블을 삭제합니다(승인 "확인" 버튼을 사용하여). 그렇게 하는 방법을 알아낼 수 있을 것 같지만 중간 테이블 없이 궁극적으로 정보를 얻고 있는 테이블에 직접 수행할 수 있는 방법이 있습니까? XML 설정 명령 문서는 어딘가에서 누락되지 않는 한 최소한입니다.
감사해요!
Re: JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제데이터를 JMP 테이블로 가져온 후(와이드 형식이 가장 적합함) JMP가 데이터를 추가로 정리/수정할 수 있는 다양한 방법을 알아내기 시작합니다. XML 가져오기 마법사에서 모든 작업을 직접 수행할 수는 없을 것 같습니다. XML 구문 분석을 사용하면 대부분 수행할 수 있지만 제 생각에는 사용하기가 상당히 복잡합니다.
Re: JSL을 통한 XML 파일 가져오기, Parse XML 명령 사용 및 하위 태그 액세스 관련 문제네, 시작점은 넓었고 그 다음에는 열 이름 편집, 열 분할, 열의 데이터를 다른 사람의 단위 속성에 넣고 삭제하는 등 수많은 작업을 수행했습니다. 누군가 유용하다고 생각하면 최종 파일을 첨부합니다. XML 파일을 정리할 때 수행할 작업에 대한 지침입니다. 예쁘지는 않지만 거기에 있습니다.