将字符串转换成xml并取得对应的值
2024-08-31 21:20:34
如数据库中有一个字段保存了xml格式的一串字符串:
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfPassengerInfoForXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PassengerInfoForXml>
<Person>1</Person>
<Name>张三</Name>
<InsureNumber>2</InsureNumber>
</PassengerInfoForXml>
<PassengerInfoForXml>
<Person>1</Person>
<Name>李四</Name>
<InsureNumber>1</InsureNumber>
</PassengerInfoForXml>
</ArrayOfPassengerInfoForXml>
方法一:js
//字符串转化为xml
function toXmlDom(source) {
var xmlDoc = null;
if (window.ActiveXObject) {
var ARR_ACTIVEX = ["MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XmlDom"];
var XmlDomflag = false;
for (var i = ; i < ARR_ACTIVEX.length && !XmlDomflag; i++) {
try {
var objXML = new ActiveXObject(ARR_ACTIVEX[i]);
xmlDoc = objXML;
XmlDomflag = true;
} catch (e) {
}
}
if (xmlDoc) {
xmlDoc.async = false;
xmlDoc.loadXML(source);
}
} else {
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(source, "text/xml");
}
return xmlDoc;
}
function getXmlDom(source) {
var strXML=""; //strXML为上面的xml格式的字符串
var s = toXmlDom(strXML);
$(s).find("PassengerInfoForXml").each( //得到每一个签
function (id, item) {
//获取标签的内容
var Person= $(item).find("Person").eq().text();
var Name= $(item).find("Name").eq().text();
var InsureNumber= $(item).find("InsureNumber").eq().text();
alert(Name);
}
); }
方法二:asp.net 后台
1) 建一个类PassengerInfoForXml.cs,对应每个标签的字段
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication1
{
public class PassengerInfoForXml
{
public Int32 Person { get; set; }
public String Name { get; set; }
public Int32 InsureNumber { get; set; }
}
}
2) 获取每个标签的值
protected List<PassengerInfoForXml> passengerlist = null;
string strxml = ""; //上面的xml格式字符串 protected void Button1_Click(object sender, EventArgs e)
{
passengerlist = ConvertToObject(strxml, typeof(List<PassengerInfoForXml>)) as List<PassengerInfoForXml>;
for (int i = ; i < passengerlist.Count; i++)
{
var Person = passengerlist[i].Person;
var Name = passengerlist[i].Name;
var InsureNumber = passengerlist[i].InsureNumber;
Response.Write("<script>alert('"+Name+"')</script>");
}
}
//转换成对象PassengerInfoForXml
public static object ConvertToObject(string xml, Type objectType)
{
object obj2 = null;
if (string.IsNullOrEmpty(xml))
{
return obj2;
}
using (StringReader reader = new StringReader(xml))
{
XmlSerializer serializer = new XmlSerializer(objectType);
return serializer.Deserialize(reader);
}
}
最新文章
- Pychram如何导入Django项目
- 建立mvc过程
- 跟我学习Storm_Storm基本架构
- c++ 关于new文件
- vue学习笔记之属性和方法
- Robotium Table控件的处理
- oracle中的函数
- highcharts 的使用实例:待写
- leetcode 4 : Median of Two Sorted Arrays 找出两个数组的中位数
- 纯CSS的颜色渐变效果
- java输入输出高速
- java文件上传--基于ajaxFileUpload+struts2
- 安装 Docker <;一>;
- [py]Win10下的pip/pip3 install 导致utf-8编码问题的解决方案
- 黄聪:windows下使用xampp3.2.2配置多个监听端口和不同的网站目录
- 18种CSS3loading效果完整版
- 关于spring中Assert的应用(方法入参检测工具类)
- Extjs js 产生Guid或者UUID
- 预备作业02 : 体会做中学(Learning By Doing)
- BZOJ.5407.girls(容斥 三元环)
热门文章
- PyCharm下载主题以及个性化设置(详细)
- 微信小程序实现运动步数排行(可删除)
- Caused by: java.lang.NoSuchMethodException: &;lt;init&;gt; [class android.content.Context, interface android
- js进阶 13-3 jquery动画显示隐藏,滑动,淡入淡出的本质是什么
- 第三方插件将数据转成json
- [TypeScript] Using Interfaces to Describe Types in TypeScript
- php protected 类型如何获取
- 计算git树上随意两点的近期切割点。
- php面试题9(看的时候就应该随手截图做笔记的)
- 清楚arp