0

XML文字列を解析するためのコア(クライアント側ではない)JavaScriptソリューションを誰かに教えてもらえないかと思っていました。たとえば、プロパティを取り出すことができるオブジェクトに変換します。または配列。

高低を検索しましたが、私が目にするすべてのソリューションは、特定のブラウザーの DOM を利用するクライアント側のソリューションです。私は JavaScript でプログラミングしていますが、これは DOM 関連の質問ではありません。サーバー側の計算です。

たとえば、次の文字列があります。
<IndustryTerm count="2" relevance="0.553">food system</IndustryTerm><Person count="2" relevance="0.586">Alexandra Spieldoch</Person><Event count="1">Environmental Issue</Event><IndustryTerm count="1" relevance="0.154">rural finance</IndustryTerm><IndustryTerm count="1" relevance="0.335">food security</IndustryTerm><IndustryTerm count="1" relevance="0.280">e-consultation</IndustryTerm><IndustryTerm count="1" relevance="0.154">high-level food security dialogues</IndustryTerm><IndustryTerm count="1" relevance="0.154">food markets</IndustryTerm><Position count="1" relevance="0.335">representative</Position><SocialTags><SocialTag importance="2">Sociology<originalValue>Sociology</originalValue></SocialTag><SocialTag importance="2">Food security<originalValue>Food security</originalValue></SocialTag><SocialTag importance="1">Food politics<originalValue>Food politics</originalValue></SocialTag><SocialTag importance="1">Gender<originalValue>Gender</originalValue></SocialTag><SocialTag importance="1">Biology<originalValue>Biology</originalValue></SocialTag></SocialTags>

私の目標は、すべての関連性重要性の値、およびタグ間の関連値を見つけることです。より具体的には、この場合:

<IndustryTerm count="1" relevance="0.154">food markets</IndustryTerm>

タグ名 (IndustryTerm)、関連性 (0.154)、開始タグと終了タグの間の値 (食品市場) を知りたいです。

私は正規表現をいじっていましたが、まだ「その場でヒット」することができず、そこに何かがあるのではないかと思っていました.

繰り返しますが、これはクライアント側の JavaScript やブラウザーとは関係ありませんが、標準のコア JavaScript である必要があります。

ダグ

4

2 に答える 2

3

コア Javascript には XML メソッドが組み込まれています。これはあなたが探しているものですか?

https://developer.mozilla.org/En/E4X/Processing_XML_with_E4X

var person = <person>
  <name>Bob Smith</name>
  <likes>
    <os>Linux</os>
    <browser>Firefox</browser>
    <language>JavaScript</language>
    <language>Python</language>
  </likes>
</person>;

alert(person.name); // Bob Smith
alert(person['name']); // Bob Smith
alert(person.likes.browser); // Firefox
alert(person['likes'].browser); // Firefox

リンクには、リスト、属性などを操作するための例があります。

于 2012-06-12T02:17:14.683 に答える
0

SpiderMonkey でサポートされている XML を解析するための代替構文を使用できる場合があります。Firefox nightly builds pageからSpiderMonkey JavaScript Shellのコピーを入手し、siberian の例から盗みました。これは機能します:

js> options('allow_xml');
""
js> var person = new XML("<person><name>Bob Smith</name><likes><os>Linux</os><browser>Firefox</browser><language>JavaScript</language><language>Python</language></likes></person>");
js> person.name;
<name>Bob Smith</name>
js> person.name.text()
Bob Smith
js> person.likes.browser.text();
Firefox
于 2012-06-12T14:33:52.977 に答える