第一章(asp.net xmlとjson)
第一章(asp.net xmlとjson)
1.htmlは表現型のタグ言語である.
2.xmlは拡張可能なタグ言語である.
3.xml書き方の特徴:
(1)
(2)マークは必ず閉じる
(3)xml要素が1つしかないルート要素
4.xmlファイルの書き込み:
5.xmlの読み込み:
6.xml操作:
(1)Xmldom XMLdocument ,xmlnode
(2)xmlreader ,xmlwritter [using system.xml.serialization]
(3)dataset readxml,writexml
7.sqlでファイルをxmlに変換する:select*from[テーブル名]for xml auto;
8.js.jquery:
(1.)① DomParser() firefox ,chrome
var DomParser() =new Domparser();
②ActiveXobject IEブラウザ
var xml=new ActiveXobject("Microsoft.xmldom");
(2)jquery解析:
9.json解析:
10.json:(シーケンス化)
(1)JavaScriptSerializer
使用法:listlist=new list{new book(){bookid=",bookname="}}
JavaScriptSerializer js =new JavaScriptSerializer();
js .Serializer(list);
注意:シーケンス化はstringタイプを返し、datasetを解析できません.
11.ストリームへの変換:
12.ajaXデータアップロード:ajaxjsonの使用
(1.)クライアントがjsonをオブジェクトに変換
(2.)json文字列をjsonオブジェクトに変換
13.jsonの利点:可読性を向上させ、複雑さを減らす.
jsonは完全に動的であり、json構造の間でデータを表す方法を変えることができる.
同じjson形式のオブジェクトを異なる方法で表すことができる.
14.xmlとjsonの比較:
(1.)クライアント:json(jsonフォーマットが扱いやすい)xmlより優れている
(2)サーバ:xml(xmlはシーケンス化と逆シーケンス化でより安定)jsonより優れている
(3)安全性:xmlはjsonより優れている(jsonは正規表現検出が必要)
(4)性能:json(軽量級)がxmlより優れている
(5)その他:xml検証技術はより成熟している.
1.htmlは表現型のタグ言語である.
2.xmlは拡張可能なタグ言語である.
3.xml書き方の特徴:
(1)
(2)マークは必ず閉じる
(3)xml要素が1つしかないルート要素
4.xmlファイルの書き込み:
XmlDocument doc = new XmlDocument();
// xml
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//
XmlNode root = doc.CreateNode(XmlNodeType.Element, "students", null);
XmlNode node1 = doc.CreateNode(XmlNodeType.Element, "student", null);
//
XmlNode node1text = doc.CreateNode(XmlNodeType.Text, null, null);
node1text.Value = " ";
//
XmlAttribute attr1 = doc.CreateAttribute("hobby");
attr1.Value = " ";
XmlAttribute attr2 = doc.CreateAttribute("age");
attr1.Value = "20";
// node1
node1.AppendChild(node1text);
// node1
node1.Attributes.Append(attr1);
node1.Attributes.Append(attr2);
//
root.AppendChild(node1);
//
doc.AppendChild(declaration);
//
doc.AppendChild(root);
//
string path =context.Server.MapPath(@"~/XML/yexu.xml");
doc.Save(path);
5.xmlの読み込み:
// xmldocument
XmlDocument doc = new XmlDocument();
string path = MapPath(@"~\XML\students.xml");
// xmldocument
doc.Load(path);
//
XmlNode root = doc.DocumentElement;
string info = "";
// ( <student>)
foreach (XmlNode stuNode in root .ChildNodes)
{
info += stuNode.Attributes.Item(0).Value;
info += stuNode.Attributes.Item(1).Value;
// stunode
foreach (XmlNode node in stuNode.ChildNodes )
{
//
info += node.Value;
}
info += "<br/>";
}
Response.Write(info);
6.xml操作:
(1)Xmldom XMLdocument ,xmlnode
(2)xmlreader ,xmlwritter [using system.xml.serialization]
(3)dataset readxml,writexml
7.sqlでファイルをxmlに変換する:select*from[テーブル名]for xml auto;
8.js.jquery:
(1.)① DomParser() firefox ,chrome
var DomParser() =new Domparser();
②ActiveXobject IEブラウザ
var xml=new ActiveXobject("Microsoft.xmldom");
(2)jquery解析:
<script type ="text/javascript">
$(function () {
$.ajax({
url: "http://localhost:2754/Handler1.ashx",
type: "get",
datatype: "xml",
success: function (data) {
$(data).each(function (index) {
//
$(this).find("Student").text();
$(this).find("Student").each(function (attrindex) {
//
$(this).get(0).attributes[0].value;
});
})
}
})
})
</script>
9.json解析:
<script type="text/javascript">
$(function () {
$.ajax({
url: "JsonHandler.ashx",
type: "get",
dataType: "json",
success: function (data) {
$(data).each(function (index) {
$(this)[0].bookname;
})
}
})
});
</script>
10.json:(シーケンス化)
(1)JavaScriptSerializer
使用法:list
JavaScriptSerializer js =new JavaScriptSerializer();
js .Serializer(list);
注意:シーケンス化はstringタイプを返し、datasetを解析できません.
11.ストリームへの変換:
MemoryStream ms=new MemoryStream();
xmldocument.save(ms);
byte[] mybytes = byte[ms.length];
mybytes = ms .ToArray();
content.respone.outputStream.write(mybytes,0,mybytes.length);
12.ajaXデータアップロード:ajaxjsonの使用
(1.)クライアントがjsonをオブジェクトに変換
// json
<script type="text/javascript">
var jsonvar={"key","value"};
//object
alert(typeof.jsonvar);
//string
alert(typeof JSON.stringify(jsonvar));
<script>
(2.)json文字列をjsonオブジェクトに変換
<script type="text/javascript">
var str={"key","value"};
Json.parse(str);
<script>
13.jsonの利点:可読性を向上させ、複雑さを減らす.
jsonは完全に動的であり、json構造の間でデータを表す方法を変えることができる.
同じjson形式のオブジェクトを異なる方法で表すことができる.
14.xmlとjsonの比較:
(1.)クライアント:json(jsonフォーマットが扱いやすい)xmlより優れている
(2)サーバ:xml(xmlはシーケンス化と逆シーケンス化でより安定)jsonより優れている
(3)安全性:xmlはjsonより優れている(jsonは正規表現検出が必要)
(4)性能:json(軽量級)がxmlより優れている
(5)その他:xml検証技術はより成熟している.