-4

重複の可能性:
PHPに最適なXMLパーサー
phpを使用してXMLファイルを解析する方法

このxmlを解析できませんでした...実際のxmlはここにあります

    <?xml version="1.0" encoding="ISO-8859-1" ?>
<eqlist>
    <earhquake  name="2012.12.31 18:35:13"  lokasyon="CAMONU-AKHISAR (MANİSA)                           İlksel" lat="38.9572"   lng="27.8965"   mag="2.9" Depth="5.0" />
    <earhquake  name="2012.12.31 18:54:09"  lokasyon="VAN GÖLÜ                                          İlksel" lat="38.7273"   lng="43.1598"   mag="2.3" Depth="2.1" />
    <earhquake  name="2012.12.31 21:00:49"  lokasyon="KUCUKESENCE-ERENLER (SAKARYA)                     İlksel" lat="40.7347"   lng="30.4742"   mag="1.9" Depth="4.4" />
</eqlist>

どうすれば解析できますか?問題は、素敵なリモートサイトのグーグルマップアプリケーションを実行しているxmlファイルの最初の2文字から来ています。その配列を見てください

[0] => ÿþ<?xml version="1.0" encoding="ISO-8859-1" ?>
4

2 に答える 2

3

SimpleXML_Load_Stringを使用できます。

<?php // RAY_temp_burhan.php
error_reporting(E_ALL);
echo '<pre>';

$xml = <<<ENDXML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<eqlist>
    <earhquake  name="2012.12.31 18:35:13"  lokasyon="CAMONU-AKHISAR (MANISA)                           Ilksel" lat="38.9572"   lng="27.8965"   mag="2.9" Depth="5.0" />
    <earhquake  name="2012.12.31 18:54:09"  lokasyon="VAN GÖLÜ                                          Ilksel" lat="38.7273"   lng="43.1598"   mag="2.3" Depth="2.1" />
    <earhquake  name="2012.12.31 21:00:49"  lokasyon="KUCUKESENCE-ERENLER (SAKARYA)                     Ilksel" lat="40.7347"   lng="30.4742"   mag="1.9" Depth="4.4" />
</eqlist>
ENDXML;

// CONVERT TO AN OBJECT
$obj = SimpleXML_Load_String($xml);

// PARSE OUT SOME ATTRIBUTES
foreach ($obj as $quake)
{
    // ATTRIBUTE NAMES ARE CASE-SENSITIVE
    $loc = $quake->attributes()->lokasyon;
    $dep = $quake->attributes()->Depth;
    echo PHP_EOL . "$loc $dep";
}
于 2013-01-01T15:58:20.730 に答える
1

オブジェクト指向の方法

$xml = <<<ENDXML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<eqlist>
    <earhquake  name="2012.12.31 18:35:13" 
                lokasyon="CAMONU-AKHISAR (MANISA) Ilksel"
                lat="38.9572"
                lng="27.8965"   mag="2.9" Depth="5.0" />
    <!-- Etc... -->
</eqlist>
ENDXML;

$dom = new DOMDocument();
$dom->loadXML($xml, LIBXML_NOBLANKS);

次に、 DOMDocumentで定義されているさまざまなメソッドを使用できます。XSDで有効性をチェックするのに役立つこれらの方法の1つは次のとおりです。schemaValidate

于 2013-01-01T16:13:11.030 に答える