0

スクールノートシステムにログインするphpスクリプトをすでに作成しました。しかし、私はHTMLページをxmlに解析しようとしています。しかし、私はいくつかの問題に直面しています。まず第一に、テーブルのhtmlコードはちょっと混乱していて、私は今何をすべきか分かりません。

これはCURLPHPページです:http://koetse.eu/test/curl.php。これは返信のソースコードです:http://pastebin.com/RDawmsnY

その乱雑なHTMLテーブルをxmlファイルに変更しようとしています。次のようになります。

<?xml version="1.0" ?> > 
<notes>
    <name>Jurre (4HC)</name>
            <class>kwt</class>
            <class>netl</class>
                    <note>6.6</note>
                    <note>6.3</note>
                    <note>4.9</note>
                    <se>5.8</se>
            <class>entl</class>
                    <note>7.5</note>
                    <note>7.3</note>
                    <note>7.7</note>
                    <note>10.0</note>
                    <note>6.6</note>
                    <note>9.6</note>
                    <note>6.7</note>
                    <note>6.7</note>
                    <se>8.6</se>
            <class>lv</class>
                    <note>7.8</note>
                    <note>4.8</note>
                    <se>6.3</se>
</notes>

ect ...(例として最初の3行のみを実行しました)

ペーストビンを使用して申し訳ありませんが、私はポストの最大長で戦いました。

よろしくジュレ

4

2 に答える 2

0

そのHTMLドキュメントは本当に厄介に見えます。DOMパーサーやXMLのようなもので解析できるとは思いません。

正規表現のアプローチを試すことをお勧めします。

<ul>クラス名は番号のない素敵なリストに表示されるので、タグとタグを見つけて</ul>正規表現を使用し、スパンタグから名前を抽出することでクラス名を取得できます。

<table同様に、の2番目の出現と最初の出現を見つけ、その</table>中でregexpを実行して行、次にセルを取得し、最後にスパンのものを破棄して番号を残すことができます。

于 2013-03-27T21:30:24.307 に答える
0

誰もTIDYについて言及しなかったことにかなり驚いた。http://www.w3.org/People/Raggett/tidy/。公式にお尻を数回救ってくれました。ゴミを通過させた後、問題なくDOMドキュメントにHTMLをロードすることができました。

ただし、整頓された後に実行しなければならなかった重要なmodが1つあります。学校のシステムはいくつかのタグを出力します。これらのタグはXMLドキュメントでは完全に機能しますが、HTMLでは機能しません。wisssearch。正規表現を使用して検索および置換すると、最後に有効なDOMDocumentが作成されます。

次に行うこと:

  • それらすべてを取り除く&xAA; マーク-正規表現
  • ものを解析してください!

(tidy -f errors.txt -m your_file.txt)

于 2013-03-27T21:40:07.590 に答える