問題タブ [expat-parser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - Mac OS X 10.7.2 で libjingle をビルドすると、"error: string.h: No such file or directory" のようなエラーが発生する
Mac OS X 10.7.2 で libjingle のビルドに失敗しました。$path_to_swtoolkit/hammer.sh
libjingle の README に従って実行すると、次のような出力が 得られました。
私の Mac に などがstring.h
あることは確かです。また、ディレクトリに移動して実行assert.h
しようとし、成功しました。この問題について Web を検索しましたが、役に立たないようです。それで、もしあなたが理由を知っているなら、私に教えてくれてありがとう!cd
expat-2.0.1
./configure
make
PS 私の問題は次のようなものです:
xml - Haskellは、メモリが少ない大きなxmlファイルを解析します
そこで、hexpat や xml-enumerator など、いくつかの Haskell XML ライブラリをいじってみました。Real World Haskell (http://book.realworldhaskell.org/read/io.html) の IO の章を読んだ後、次のコードを実行するとガベージ コレクションが行われるという印象を受けました。
ただし、大きなファイルで実行すると、実行中にメモリ使用量が増え続けます。
私は何を間違っていますか?私の仮定は間違っていますか?マップ/フィルターは強制的にすべてを評価しますか?
私の最終的な目標は、単純なサックスのようなインターフェイスで巨大な xml ファイルを解析することです。「イベント」を見つけたという通知を受け取るために、構造全体を意識する必要はありません。
python - Apache が使用する expat ライブラリのバージョンを置き換える/更新するにはどうすればよいですか?
(免責事項: 私は Linux を使い始めたばかりで、Apache と Python の構成についてはあまり経験がありません。)
ここでより詳細に説明されているかなり一般的な問題がありますhttp://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary。基本的に、私の主な問題は私の Apache が expat ライブラリのバージョン 1.95.7 を使用しているのに対し、私の Python は expat ライブラリのバージョン 2.0.1 を使用していることだと 99% 確信しています。したがって、それらを一緒に使用すると、セグメンテーション違反が発生します。
ページの一番下にあるリンクで説明されているように、Apache で使用されている expat ライブラリのバージョンを Python で使用されているバージョンに置き換える/更新する必要があります。どうすればいいですか?(私はこの種のことに非常に慣れていないことに注意してください。)
編集: この問題は解決されました。以下に、私が Apache をインストールし、ソース コードから Python をビルドし、mod_wsgi をインストールし、恐ろしい国外居住者の問題を解決するために私が行ったすべてのことを文書化しました。
1) Wubi で Ubuntu をインストール
アパッチのインストール
2) Ubuntu では、Apache Unix ソース httpd-2.2.21.tar.gz をダウンロードします。
3) Apache HTTPDd tarbell からソースを抽出:
4) 抽出したディレクトリ内から Apache HTTPd ソース ツリーを構成します。
5) Apache HTTPd パッケージを形成するさまざまなパーツを構築しました。
6) 手順 4 で指定したディレクトリにパッケージをインストールしました
7) Apache HTTP サーバーを開始しました。
8) localhost を確認すると、「動作します!」と出力されました。
9) Apache HTTP サーバーを停止しました。
ソースコードからの Python のインストール
10) 何かをビルドするために必要なすべての共通パッケージを取得しました (例: コンパイラーなど)。
11) /etc/apt の sources.list ファイルを編集し、「deb-src」を除いて、ファイルに含まれているのとまったく同じ「deb」行を最後に追加します。
12) 変更を認識するように apt-get を更新しました。
13) Python のビルドに必要なすべてのライブラリを取得しました。
14) Python ソース コード Python-2.7.2.tgz をダウンロードして展開し、ディレクトリ内から次のコマンドを実行しました。
15) 構築された Python:
16) インストール済みの Python:
mod_wsgi のインストール
17) ダウンロードした mod_wsgi ソース コード tar ボール mod_wsgi-3.3.tar.gz
18) 解凍され、解凍されたディレクトリ内から python で構成されます。
19) 構成されたパッケージをビルド:
20) Apache モジュールにインストール:
21) ダウンロードした Django-1.3.1.tar.gz
22) 抽出されたファイル:
23) ディレクトリ内から Django プロジェクトをインストール:
24) 編集された Apache httpd.conf ファイル:
ファイルの末尾に次のディレクティブを追加しました。
25) django プロジェクト ディレクトリにテスト ファイルを作成しました。
次のコンテンツをファイルに追加しました。
26) Apache を開始しました。
27) localhost をテストしたところ、「Hello World!」と出力されました。
28) アパッチを止めた:
恐ろしい外国人問題のテスト:
29) 編集された test.wsgi ファイル:
ファイルの先頭に次のコンテンツを追加しました。
30) Apache を起動しました:
31) 「Hello World!」と表示されます。神がいます。
32) アパッチを止めた:
php - PHPでexpatを使用してドキュメントの一部のみを解析する
コンテンツがXMLファイルに保存されているPHPでWebサイトを構築しています。index.php
基本的に、クエリ文字列をチェックしてXMLから適切なページを提供する単一のページがあります。
たとえば、入力www.mysite.com/?page=home
すると、PHPスクリプトはXMLファイルで<page id="home">
タグをチェックし、そのタグ内にあるものをすべてに貼り付けindex.php
ます。
タグの内容は<page>
HTMLとして保存されるため、次のようになります。
<page>
適切なタグを取得して、なんとかして内容を解析できるようにしたいと思っていました。タグ内のすべてが有効なHTMLであることを知っている<page>
ので、expatを使用してタグを実行し、タグをecho
元に戻します。
そのため、このメソッドを使用しDOMDocument
て正しいものを見つけています<page>
。これは、コンテンツがDOM要素として返されることを除いて正常に機能します。expatパーサーには文字列が必要です。したがって、次の2つのいずれかを実行する必要があります。
DOM要素を魔法のように文字列に変換して、すべてのタグをそのまま保持し、expatパーサーで使用できるようにします。ただし、これができれば、expatパーサーは必要なく、変換された文字列を直接エコーすることができます。
海外駐在員以外のものを使用してください。
ちなみに、 XMLの<
andをandに置き換えるだけでよいことはわかっていますが、これによりコードの読み取りと編集が非常に困難になります。できれば避けたいです。>
<
>
c - expat を使用して XML ドキュメントを検証する
expat での XML 検証に問題があります。XML ドキュメントの検証に役立つドキュメントまたは wiki が見つかりません。
libexpat と C プログラムを使用して、xml スキーマ (xsd ファイル) を介して XML ドキュメントを検証することは可能ですか?
応答が no の場合、DTD ファイルを介して検証する方法は?
よろしくお願いします。
c - Cコンパイラは実行可能ファイルを作成できません
今日、OSx 1.6と1.7(ライオン)をインストールしました(1.5は以前にインストールされていました)。この後、xcodeとコマンドラインツールを再インストールしました。macportからすべてのポートをアンインストールしてクリーンアップしました。macportsから何かをインストールしようとすると、エラーが発生します:( xcodeの再インストールは機能しません)
インストールログ:
実行しようとしました:sudo port -f install tcl + headers、error:
xml - 人間が読める方法で任意のテキストをXMLにエンコードする良い方法は何ですか?
これまでのところ、テキストをCDATAタグに入れ、複数の隣接するCDATAに分割することで、テキストにCDATAの末尾が表示される可能性に対処しています。
これについてはよくわかりませんが、XMLパーサーはCDATAタグ内の改行を保持できない可能性があります。これは、どういうわけかそれらをエスケープすることも意味します...
Perlを使用してこれらのXMLファイルを生成し、C ++(expatを使用)、Java、およびC#で解析したいと思います。
最も重要なことは、結果のファイルを人間が読める形式/変更可能な形式にすることです。これらのニーズに合うエンコーディングスキームを知っている人はいますか?これを使用してデータベースのデータを格納しているため、任意のテキストを受け入れる必要があり、解析時にまったく同じテキストが返されます。
gcc - gcc の新しくインストールされたライブラリ (libexpat1-dev) が現在の端末 (debian) で認識されない
私は、expat ベースのサンプル プログラムをコンパイルするのにかなりの時間を費やしました。
コンパイルしようとすると、次のエラー メッセージが表示されました。
私はすでに次のコマンドを実行していました: sudo apt-get install expat libexpat1 libexpat1-dev libxmltok1-dev
それで、エラーメッセージを消して、この(単純な)小さなプログラムをコンパイルできるようにしようと、何年もいじりましたが、役に立ちませんでした。
最終的に、まったくのランダム性から、仮想端末に切り替えることにしました。
まったく同じコマンドを実行しましたが、今回は問題なく動作しました。
これがなぜなのか誰か教えてもらえますか?ライブラリ パスを更新するために実行する必要があるものはありますか?
perl - expat-develなしでXML::Parserをインストールする方法は?
XML :: Parserは、非常に新しい64ビットDebianボックスでのビルドに失敗します。を発行した後cpan XML::Parser
、cpanはExpat.cとExpat.xsに関する多くのエラーで失敗します。
出力の最初のメッセージは、構築にはexpat-develが必要であることを説明しています。
XML :: Parserをビルドする前に、Expatをインストールする必要がありますが、標準ライブラリディレクトリにExpatが見つかりません。OSパッケージマネージャーを使用して「expat-devel」パッケージをインストールします。「README」を参照してください。
しかし、expat-develはDebianリポジトリにありません。
ソースからエクスパットをビルド/インストールせずにこれを乗り越えることは可能ですか?