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 ウィザードでアドインを置き換えることができます。