1

XML DATA を取得し、そのすべてを MySQL データベースにアップロードする必要があります。(右クリック、名前を付けて保存...)

これが私の理論です...

たとえば、次の行を見てください。

Monster short="狂ったドワーフのフレッドジン" info="aggr, kungfu, cancel" race="ドワーフ" eq="安っぽい灰色のシャツ、黒いズボンのプレス" exp="120280" palpoints="93" align =「邪神」=「テロス」

「short=」のインデックスを見つけてから、Dwarf という単語に続く引用符のインデックスを見つけて、「Fredzin the crazed Dwarf」がアップロードされる値になるようにします。しかし、2番目の引用符のインデックスを見つけて、その間のすべてをキャプチャする方法がわかりません。

すべての XML 属性値に対してこれを行う必要があります。すべての XML が同じ属性を持つわけではないことに注意してください。したがって、次のようなことはできないと思います-「短い」値をすべて収集し、データベースにアップロードしてから、「exp」値を調べて収集します。 XML データはデータベースの適切なレコードにアップロードされます。

助言がありますか?substr()、simpleXML、explode()、fopen() のいくつかのバリエーションを試しましたが、役に立ちませんでした... まだ。

4

2 に答える 2

1

この単純なケースでは、必要な部分を解析するために正規表現を使用できます。PHP では、次のようになります。

<?php 

$content = file_get_contents('monsters.xml');

$matches = array();

$pattern = "/short=\"([^\"]+)\"/";
preg_match_all ($pattern , $content, $matches);

if (isset($matches[1])) {
    foreach ($matches[1] as $monster) {
        echo $monster. "\n";
    }
}

Monster.xml の結果:

Nikwasli the Catfolk Apprentice
An extra fluffy sheep
Slireistar the Treant Master Abjurer
Alkinoyine the Djinni Master Abjurer
Arthorian the Guildmaster of the Abjurers
Katalare the Ent Master Abjurer
An older dwarf with a long beard and a sharp pick
....
于 2013-05-07T19:20:07.923 に答える