将字符串转换成xml并取得对应的值
如数据库中有一个字段保存了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);
}
}
将字符串转换成xml并取得对应的值的更多相关文章
- java基础60 JavaScript字符串转换成数字(网页知识)
1.字符串转换成数字 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...
- 将Xml字符串转换成(DataTable || DataSet || XML)对象
今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...
- C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串
在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的 ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据
第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...
- Java对象转换成xml对象和Java对象转换成JSON对象
1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...
- Gson将字符串转换成JsonObject和JsonArray
以下均利用Gson来处理: 1.将bean转换成Json字符串: public static String beanToJSONString(Object bean) { return new Gso ...
- JS 实现"可读"字符串转换成"二进制的01"字符串
问题起源 看过一个漫画, 两位程序员在办公司交流, 可是说的语言却是010101类似的字符串.周围人很是惊异.计算机的世界,确实是由01组成的.今天突然想实现这个编码转换. 解决思路 学过C语言的都知 ...
随机推荐
- JNI之——Can't load IA 32-bit .dll on a AMD 64-bit platform错误的解决
转载自:http://blog.csdn.net/l1028386804/article/details/46605003 在JNI开发中,Java程序需要调用操作系统动态链接库时,报错信息:Can' ...
- linux cmd cp -a
cp -a 在保留原文件属性的前提下复制文件 cp -r dirname destdir 复制目录后其文件属性会发生变化 想要使得复制之后的目录和原目录完全一样,可以使用cp -a dirn ...
- C++开源码项目汇总
Google的C++开源码项目 v8 - V8 JavaScript Engine V8 是 Google 的开源 JavaScript 引擎. V8 採用 C++ 编写,可在谷歌浏览器(来自 G ...
- 安装orabbix
须知: (1). orabbix使用root用户安装. (2). orabbix安装在zabbix server端,而不是安装在Oracle端. 1.下载 Orabbix 2. 解压软件 un ...
- 对Linux下常用头文件总结
asm.current.h 定义全局项current ,其指向结构体struct task_struct linux/sched.h 定义结构体task_struct ,只要包含此头文件 ...
- mysql的入门基础操作
1.数据库的简单介绍 1.1 什么是数据库,就是一个文件系统,使用标准sql对数据库进行操作 1.2 常见的数据库 oracle 是oracle公司的数据库,是一个收费的大型的数据库 DB2,是IB ...
- 【37.38%】【codeforces 722C】Destroying Array
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- html js 上传图片 预览
第一段代码是我自己修改之后能够多选显示多预览图,也就是加了个循环,后面的代码是一些解释说明之类的,抄的 <!DOCTYPE html> <html> <head> ...
- [转载]Ocelot简易教程(四)之请求聚合以及服务发现
上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍,今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能.希望能对大家有所帮助. 作者:依乐祝 原文地址:https://ww ...
- 在linux,windows上安装ruby on rails开发环境
ruby是一个非常优秀的语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程.windows下搭建ruby rails web开发环境本篇文章主要是 ...