アフィリエイト広告を利用しています
<< 2023年10月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
ファン
写真ギャラリー
最新記事
カテゴリーアーカイブ
月別アーカイブ

広告

posted by fanblog

2023年10月31日

XMLベースのアプローチ

XMLベースのアプローチ


前回の記事「手書き要素とAI自動化 - ブログ記事作成の挑戦」で取り上げた「XMLベースのアプローチ」について、HTMLの中にXMLデータを埋め込んで、それをJavaScriptで処理し表示するといった手順がおおよそできたので、それについて紹介したいと思います。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XML Processing</title>
</head>
<body>
<!-- XMLデータを含むコンテナ。非表示になっています。 -->
<div id="container" style="display: none;">
<conversation>
<qa order="1">
<question>明確な質問をする</question>
<answer>ChatGPTに(略)</answer>
</qa>
<!-- 他の qa 要素も続く -->
</conversation>
</div>
<!-- 質問と回答が表示されるコンテナ -->
<div id="output">
</div>
<script>
// ページが読み込まれたら以下の関数を実行
document.addEventListener("DOMContentLoaded", function () {

// XMLデータを含むコンテナを取得
var qaContainer = document.getElementById("container");
// 質問と回答を表示するコンテナを取得
var opContainer = document.getElementById("output");

// XMLデータを正しく取得
var xmlData = qaContainer.innerHTML;

// XMLデータを解析
// DOMParserを使用してXMLデータを解析するオブジェクトを作成
var parser = new DOMParser();
// XMLデータを解析し、XML文書を生成
var xmlDoc = parser.parseFromString(xmlData, "text/xml");

// XMLデータから qa 要素を取得
var qaPairs = xmlDoc.getElementsByTagName("qa");

// XML文書からすべての "qa" 要素を取得
for (var i = 0; i < qaPairs.length; i++) {
// "qa" 要素内から "question" 要素を取得
var questionElement = qaPairs[i].getElementsByTagName("question")[0];
// "qa" 要素内から "answer" 要素を取得
var answerElement = qaPairs[i].getElementsByTagName("answer")[0];

// 質問のテキストを取得
var question = questionElement.textContent;
// 回答のテキストを取得
var answer = answerElement.textContent;

// 新しい <div> 要素を作成
var qaElement = document.createElement("div");
// 質問と回答のペアを区別するためのクラスを設定
qaElement.className = "qa-pair";
// 質問と回答を表示するHTMLを生成
qaElement.innerHTML = "<strong>質問:</strong> " + question + "<br><strong>回答:</strong> " + answer;
// 質問と回答のペアを表示コンテナに追加
opContainer.appendChild(qaElement);
}
});
</script>
</body>
</html>
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12282238
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
最新コメント
タグクラウド
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。