問題タブ [saxparseexception]

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.

0 投票する
2 に答える
145 参照

java - 1つの単語を有効なxmlに変換するにはどうすればよいですか?

関数に渡す文字列をドキュメントに変換する次のコードがあります。

問題は、私が使用しているレガシーコードの一部が、RANDOMまたはのような1つの単語をこのtoXml関数に渡すことですFICTION。解析を試みる前に、これらの呼び出しを有効なxmlに変換したいと思います。今、s = FICTIONで関数を呼び出すと、SAXParseExeptionエラーが返されます。誰かがこれを行う正しい方法について私にアドバイスできますか?ご不明な点がございましたら、お気軽にお問い合わせください。

お時間をいただきありがとうございます

-ジョシュ

0 投票する
2 に答える
2415 参照

java - SAXParserは一部の文字の解析に失敗します

私はandroid/javaでSAXParserなどを使って簡単なSAXParsingを行っています

ファイルを適切に解析できますが、特殊文字が検出されると、たとえば次のxmlを解析する場合に問題が発生します。

最後の行のPohjois-Leppävaaraでäに遭遇すると、しゃっくりします。

それが与えるエラーは次のとおりです。

SAXParserはこれらの文字を処理できると確信していますが、どこかにエンコーディングなどを設定する必要があると思いますか?

Javaコードはそうです:

0 投票する
2 に答える
10007 参照

xml - 要素「ルート」の名前空間は、スキーマ名前空間「http://www.w3.org/2001/XMLSchema」からのものである必要がありますか?

私はxmlドキュメントを持っています:

そして、次のxsdを使用してこのxmlを検証したいと思います。

検証しようとすると、次のエラーが発生します。

私の質問は、なぜルートがスキーマの名前空間になければならないのかということです。それは私がxmlドキュメントを正しく検証していないということでしょうか?

public synchronized boolean isValid(String xmlFragment、File xmlSchema)throws SAXException、IOException {

// 1.W3CXMLスキーマ言語のファクトリを検索します

0 投票する
6 に答える
7049 参照

android - このコードがSaxParseExceptionをトリガーし続けるのはなぜですか: ""PIはxmlで開始してはいけません"?

このコードは、文字列表現からXMLドキュメントを生成するために使用されます。小さな単体テストでは正常に機能しますが、実際のxmlデータでは失敗します。それがトリガーするラインはDocument doc = db.parse(is);

何か案は?

0 投票する
2 に答える
4083 参照

xsd - dom4j DOMDocument を使用して validator.validate(DOMSource) をフィードすると、Java 1.6 で失敗し (xsi:noNamespaceSchemaLocation は許可されません)、1.5 で機能します。

dom4j DOMDocument を使用して validator.validate(DOMSource) をフィードすると Java 1.6 で失敗し (xsi:noNamespaceSchemaLocation をルート要素に表示することは許可されていません)、1.5 で機能します。

次の問題は非常に扱いにくいと思います(OK、それは控えめな表現です)-洞察をいただければ幸いです。現在、XOM (http://stackoverflow.com/questions/831865/what-java-xml-library-do-you-recommend-to-replace-dom4j) などを優先して dom4j を削除するのが最善の方法のようです。

dom4j 'new DOMDocument()' から作成された XML をメモリ内で検証してきましたが、これは Java 6 では機能しません。

次の dom4j (1.6.1) DOMDocument 派生 DOMSource の validate(source) の呼び出しは、Java 1.5.x では機能しますが、Java 1.6.x では失敗します。

getSchemaURLString() は、xsi:noNamespaceSchemaLocation 属性をルート ノードに追加するためにも使用されます。

例外は次のとおりです。

これが XML の始まりです - validator.validate(source) への呼び出しを無効にした後に生成されます。

そしてXSDの:

xsi:noNamespaceSchemaLocation 属性が含まれているため、私のルート要素は拒否されています。そして、スキーマ自体はそれをルート要素の有効な属性として指定していませんか?

この時点で、このタスクのために dom4j をあきらめて、他のソリューションの 1 つに切り替える必要があるように思えます。

しかし、とにかく私が間違ったことを知りたいです!

前もって感謝します。

0 投票する
1 に答える
141 参照

xml - いくつかの巨大な基本的なものが間違っています-「要素Xが見つかりません」

私のxml

私のスキーマ

そして、「SaxParseException:要素'credits'の宣言が見つかりません」と表示されます。

何?!:Pどうしてそれが可能ですか?ここでは絶対に混乱しています。まだ何時間もグーグルしています。

ありがとうSO!

編集:解決策を見つけました。グーグルはついに何かを生み出した。:P追加する必要がありました

DocumentBuilderFactoryオブジェクトに。:D

0 投票する
3 に答える
3032 参照

xml - 検証時の DTD 情報と関連エラー (XSD スキーマ) -- それらは無視できますか?

だから私は大量のXMLファイルを持っています。何年もの間、それらを書いている人が手作業で行っていたため、エラーが自然に発生していたため、問題が発生していました。それらを検証し、これらの XML ファイルを使用しようとしたときに何が問題なのかについてフィードバックを提供する時期が来ました。

SAX パーサーを使用して、エラーのリストを取得しています。

以下は私のコードです

最初の 2 つのエラーは常に次のとおりです。

行番号: 2: ドキュメントが無効です: 文法が見つかりません。行番号: 2: ドキュメント ルート要素「credits」は、DOCTYPE ルート「null」と一致する必要があります。

チェックが必要なこれらの何千もの XML ファイルを編集することはできません。

これを防ぐためにソースの前に簡単に追加できるものはありますか? これらの DTD 関連のエラーを無視するようにパーサーに指示する方法はありますか? 文法が何を意味するのかさえわかりません。2つ目の意味はなんとなくわかります。

0 投票する
2 に答える
1492 参照

java - SAXParseException は getSystemId() に対して null を返します

SAXParseException が getSystemId() に対して null を返すのはなぜですか? システム識別子とは

0 投票する
1 に答える
541 参照

android - SaxParser のストリームを適切に終了し、「予期しないファイルの終わり」例外を回避する

Androidでここに引用されているものと同じ問題を抱えています。

与えられた解決策は、入力ストリームではなく URI を使用することでした。

APIが示すようにinputStreamを使用できると思いますが、parseメソッドで例外を発生させているストリームに明らかに問題があります。すべてのデータがストリームに送られていることを確認できます。SAXParseException は、-1 を返す getColumnNumber メソッドを使用できるため、すべてのデータが parse メソッドに送られていることを示しています (ストリーム全体が読み取られたことを示します)。しかし、解析メソッドがこれをストリームの終わりとして認識していないように見えるため、「予期しないファイルの終わり」(?) が発生します。

parse メソッドへの入力として URI ではなく入力ストリームを使用する方法を教えてください。

0 投票する
1 に答える
656 参照

java-me - JAXP Sax パーサー Java-ME Midlet 漢字の解析からの例外

HTML Unicode としてエンコードされ、XML ファイルに埋め込まれた一部の漢字を解析するのに大きな問題があります。

Java MEjavax.xml.parsers.SAXParserを使用しています

そのような文字ファイルの 1 つに词があります。


それに関する情報: http://www.isthisthingon.org/unicode/index.php?page=08&subpage=B&glyph=08BCD

でも妙に后

正常に動作しています。

直接埋め込むこと<test>词&lt;/test>もできます。

私のテスト midlet には、次のソース コードがあります。

それは死んでいます:

アイデアをいただければ幸いです。