」などのタグが格納されるとエラーが発生します。内容が異なり、問題が頻繁に発生します。"/> 」などのタグが格納されるとエラーが発生します。内容が異なり、問題が頻繁に発生します。">
検索
ホームページバックエンド開発XML/RSS チュートリアルXML文字列解析時に&記号が存在する場合の解決方法を詳しく解説

问题产生:

       在接口调用得出一个xml字符串,一直报错

The entityname must immediately follow the '&' in the entity reference

经查发现  xml的内容里存在有  &符号  而 通过dom4j读取时  会发生错误

在xml中 “&”“”这样的标签存放在内容里是不合法的,会经常出问题。

下面找到解决方法:实测   替换  &   是可行的。   

public void chartReplace(){
        String str2 = "<logentry revision=&#39;1&#39;>" +
                "<msg>In this comment, I fixed a <bug>, and <added> file1&&file2.</msg>" +
                "</logentry>";
        System.out.println("original string: "+str2);
         
        //替换“&”:$1表示与(<msg>.*)的匹配子序列;$4表示与(.*</msg>)匹配的。
                     //&(?!amp;)表示匹配&而且后面不是amp;的字符串
        //"$1&$3$4"得到的结果就是替换了<msg></msg>中的“&”为“&”
        //由于每次只能替换掉一个“&”,所以循环执行替换,直到替换后与替换前的字符串相等。
        String str1 = "";
        while(!str2.equals(str1)){
            str1 = str2;
            str2 = str1.replaceAll("(<msg>.*)(&(?!amp;))(.*</msg>)", "$1&$3");
        }
        System.out.println("firstly replace \"&\": "+str2);
         
        //替换“<”
        str1 = "";
        while(!str2.equals(str1)){
            str1 = str2;
            str2 = str1.replaceAll("(<msg>.*)(<)(.*</msg>)", "$1<$3");
        }
        System.out.println("then replace \"<\": "+str2);
         
        //替换“<”
        str1 = "";
        while(!str2.equals(str1)){
            str1 = str2;
            str2 = str1.replaceAll("(<msg>.*)(>)(.*</msg>)", "$1>$3");
        }
        System.out.println("finally replace \">\": "+str2);
    }

以上がXML文字列解析時に&記号が存在する場合の解決方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
整形式のXMLのマスター:データ交換のベストプラクティス整形式のXMLのマスター:データ交換のベストプラクティスMay 14, 2025 am 12:05 AM

十分に形成されたxmliscialfordataexchange cuseSuressurescorrecting andunderStundingsystems.1)startwithadeclarationlike.2)everyopeningtaghasaclosingSeclisementsemementSemementsemementsemementsed.3)useattributecreutecreutecrutecriouseinquotesinquotesiodioidin

XML:まだ使用されていますか?XML:まだ使用されていますか?May 13, 2025 pm 03:13 PM

xmlisstilluseddueToitsStructurednature、andReadability、およびwidedoptionIninterpriseenvironments.1)itfacilitatesDataexchangeIncectorsectorsectorsectorsectorsectorsectorsectorsectorsectorsectorsecraince(swift)andhealthcare(hl7).2)ithuman-readabadaTainsiadinusedinusedinusepridinusedinedisiontainsectionsectionsectionsiadinusedinitinitinitinitinitinitinit.3)

RSSドキュメントの解剖学:構造と要素RSSドキュメントの解剖学:構造と要素May 10, 2025 am 12:23 AM

RSSドキュメントの構造には、3つの主要な要素が含まれています。1。:rOSSバージョンの定義。 2。:タイトル、リンク、説明などのチャネル情報を含む。 3。:タイトル、リンク、説明などを含む特定のコンテンツエントリを表す

RSSドキュメントの理解:包括的なガイドRSSドキュメントの理解:包括的なガイドMay 09, 2025 am 12:15 AM

RSSドキュメントは、XMLファイルを介してコンテンツの更新を公開するための簡単なサブスクリプションメカニズムです。 1. RSSドキュメント構造は、要素で構成され、複数の要素が含まれています。 2。RSSリーダーを使用して、XMLを解析することにより、チャネルをサブスクライブし、情報を抽出します。 3.高度な使用には、FeedParserライブラリを使用したフィルタリングとソートが含まれます。 4.一般的なエラーには、XMLの解析とエンコードの問題が含まれます。 XML形式とエンコードをデバッグ中に検証する必要があります。 5.パフォーマンス最適化の提案には、キャッシュRSSドキュメントと非同期解析が含まれます。

RSS、XML、およびThe Modern Web:コンテンツシンジケーションディープダイビングRSS、XML、およびThe Modern Web:コンテンツシンジケーションディープダイビングMay 08, 2025 am 12:14 AM

RSSとXMLは、最新のWebで依然として重要です。 1.RSSはコンテンツを公開および配布するために使用され、ユーザーはRSSリーダーを介して購読して更新を取得できます。 2。XMLはマークアップ言語であり、データストレージと交換をサポートし、RSSファイルはXMLに基づいています。

基本を超えて:XMLによって有効になっている高度なRSS機能基本を超えて:XMLによって有効になっている高度なRSS機能May 07, 2025 am 12:12 AM

RSSにより、マルチメディアコンテンツの埋め込み、条件付きサブスクリプション、パフォーマンスとセキュリティの最適化が可能になります。 1)タグを介してオーディオやビデオなどのマルチメディアコンテンツを埋め込みました。 2)XMLネームスペースを使用して条件付きサブスクリプションを実装し、サブスクライバーが特定の条件に基づいてコンテンツをフィルタリングできるようにします。 3)CDATAセクションとXMLSchemaを介してRSSFeedのパフォーマンスとセキュリティを最適化して、標準の安定性とコンプライアンスを確保します。

RSSのデコード:Web開発者向けのXMLプライマーRSSのデコード:Web開発者向けのXMLプライマーMay 06, 2025 am 12:05 AM

RSSは、頻繁に更新されるデータを公開するために使用されるXMLベースの形式です。 Web開発者として、RSSを理解することで、コンテンツの集約と自動化の更新機能を改善できます。 RSS構造、解析、および生成方法を学習することにより、RSSFeedsを自信を持って処理し、Web開発スキルを最適化できるようになります。

JSON対XML:RSSがXMLを選択した理由JSON対XML:RSSがXMLを選択した理由May 05, 2025 am 12:01 AM

RSSは、JSONの代わりにXMLを選択しました。1)XMLの構造と検証機能は、RSS複雑なデータ構造のニーズに適したJSONよりも優れています。 2)その時点でXMLは広くサポートされていました。 3)RSSの初期バージョンはXMLに基づいており、標準になっています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!