アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2023年10月31日

XMLベースのアプローチ

XMLベースのアプローチ




<!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>
検索
最新コメント
タグクラウド
プロフィール
×

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

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: