精华内容
下载资源
问答
  • 首先做一个主要工具类,然后以xml的根元素为一个实体,...xml字符串样板 <?xml version="1.0" encoding="UTF-8"?> <MSG xmlns:xsi="http://www.w3.org/2001/XMLSch...

    首先做一个主要工具类,然后以xml的根元素为一个实体,实体中串联子元素的实体,子元素的属性分别代表其元素,注意在getter上会反复获取两次,需要手动get前注入@XmlElement

    xml字符串样板

    <?xml version="1.0" encoding="UTF-8"?>
    <MSG xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.travelsky.com/2006/dcsi">	
    <META>	
    	<SNDR>SCS_PE</SNDR>	
    	<SEQN>123</SEQN>	
    	<DTTM>20100704113058</DTTM>	
    	<TYPE>PSIN</TYPE>	
    	<STYP>PSCB</STYP>	
    </META>	
    <PSIN>	
    	<BID>054248001</BID>
    <FID>CA123</FID>
    	<FDATE>15SEP15</FDATE>
    	<PSCB>	
    		<PSST>O</PSST>
    		<PSTM>20060324112858</PSTM>
    	</PSCB>	
    </PSIN>
    </MSG> 

     

    编写工具类代码

    package com.royalnu.common.utils.xml;
    import java.io.StringReader;
    import java.util.Collections;
    import java.util.LinkedList;
    import java.util.List;
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.transform.Source;
    import javax.xml.transform.sax.SAXSource;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import com.royalnu.common.exception.CommonException;
    
    public class XmlUtils {
    	
    	/**
    	 * 一个xml字符串转对象,忽略xml命名空间
    	 * @param xml
    	 * @param msgVo 根元素实体
    	 * @return
    	 */
    	@SuppressWarnings("unchecked")
    	public static <T> T xmlToBean(String xml,Class<T> msgVo)throws JAXBException,SAXException,ParserConfigurationException,CommonException {
    		if (msgVo==null) {
    		   return null;
    		}		
    		JAXBContext context = JAXBContext.newInstance(msgVo);		 
            Unmarshaller unmarshaller = context.createUnmarshaller();	
            Source source = trunSource(xml);    
    		return (T)unmarshaller.unmarshal(source);	
    	}
    	
        /**
         * xml字符串集合转对象,忽略xml命名空间
         * @param xml xml字符串集合
         * @param msgVo 根元素实体
         */
    	@SuppressWarnings("unchecked")
    	public static  <T> List<T> xmlToBean(List<String> xmlList,Class<T> msgVo)throws JAXBException,SAXException,ParserConfigurationException {
    		if (msgVo==null) {
    			return Collections.EMPTY_LIST;
    		}		
    		List<T> beanList = new LinkedList<T>();
    		JAXBContext context = JAXBContext.newInstance(msgVo);		 
            Unmarshaller unmarshaller = context.createUnmarshaller();
            for (String xmlStr : xmlList) {
                 Source source = trunSource(xmlStr);
                 beanList.add((T)unmarshaller.unmarshal(source));     		
    		}
            return  beanList;
    	}
    	
    	private static Source trunSource(String xmlStr) throws SAXException,ParserConfigurationException {
    		 StringReader reader = new StringReader(xmlStr); 
    	     SAXParserFactory sax = SAXParserFactory.newInstance();  
             sax.setNamespaceAware(false);  
             XMLReader xmlReader = sax.newSAXParser().getXMLReader();
             Source source = new SAXSource(xmlReader, new InputSource(reader));  
    		 return source;		
    	}
    	
    }

     

    对应实体

    //根元素实体
    package com.royalnu.psis.interfaces.psp.api.vo;
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    
    import lombok.Setter;
    @Setter
    @XmlAccessorType(XmlAccessType.PROPERTY)  
    @XmlRootElement(name = "MSG") 
    public class PspLuggageSeizeInfoMsgVo {
    
    	private PspLuggageSeizeInfoVo pspLuggageSeizeInfoVo;
    	@XmlElement(name="PSIN")
        public PspLuggageSeizeInfoVo getPspLuggageSeizeInfoVo() {
    		return pspLuggageSeizeInfoVo;
    	}
    }
    
    
    //第二个串联的实体
    package com.royalnu.psis.interfaces.psp.api.vo;
    
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    
    import lombok.Setter;
    
    @Setter
    @XmlAccessorType(XmlAccessType.PROPERTY)  
    public class PspLuggageSeizeInfoVo {
    
    	 /**
         * <pre>
         * 行李条号
         * </pre>
         * 
         */
        private String bid;
        
        @XmlElement(name="BID")
        public String getBid() {
    		return bid;
    	}
    
        /**
         * <pre>
         * 行李所属航班号
         * </pre>
         * 
         */
        private String fid;
        @XmlElement(name="FID")
        public String getFid() {
    		return fid;
    	}
    
        /**
         * <pre>
         * 航班日期
         * </pre>
         * 
         */
        private String fdate;
        @XmlElement(name="FDATE")
        public String getFdate() {
    		return fdate;
    	}
    
        /**
         * <pre>
         * 安检消息标识(Y:开包 S:安扣)
         * </pre>
         * 
         */ 
    	private PspLuggageSeizeInfoPscbVo pscbVo;
    	@XmlElement(name="PSCB")
        public PspLuggageSeizeInfoPscbVo getPscbVo() {
    		return pscbVo;
    	}
     
        private String uuid;
        @XmlElement(name="UUID")
        public String getUuid() {
     		return uuid;
     	}
    	
    }
    
    
    //最后一个串联的实体
    package com.royalnu.psis.interfaces.psp.api.vo;
    
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    
    import lombok.Setter;
    
    
    @Setter
    @XmlAccessorType(XmlAccessType.PROPERTY)
    public class PspLuggageSeizeInfoPscbVo {
    
    	   /**
         * <pre>
         * 安检状态
         * </pre>
         * 
         */
        private String psst;
        @XmlElement(name="PSST")
        public String getPsst() {
     		return psst;
     	}
        /**
         * <pre>
         * 安检时间
         * </pre>
         * 
         */
        
        private String pstm;
        @XmlElement(name="PSTM")
        public String getPstm() {
     		return pstm;
     	}
    }
    

     

     

    展开全文
  • js xml字符串处理样例

    千次阅读 2013-09-20 14:37:07
    function parseXML()  {  text="";  text=text+"George";  text=text+"John";  text=text+"Reminder";  text=text+"Don't forget the meeting!";  text=text+"";  try //Internet Explorer  {  ...
    <html> 
    <head> 
    <script type="text/javascript"> 
    function parseXML() 

    text="<note>"; 
    text=text+"<to>George</to>"; 
    text=text+"<from>John</from>"; 
    text=text+"<heading>Reminder</heading>"; 
    text=text+"<body>Don't forget the meeting!</body>"; 
    text=text+"</note>"; 
    try //Internet Explorer 

    xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.async="false"; 
    xmlDoc.loadXML(text); 

    catch(e) 

    try //Firefox, Mozilla, Opera, etc. 

    parser=new DOMParser(); 
    xmlDoc=parser.parseFromString(text,"text/xml"); 

    catch(e) 

    alert(e.message); 
    return; 


    document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue; 
    document.getElementById("from").innerHTML=xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue; 
    document.getElementById("message").innerHTML=xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue; 

    </script> 
    </head> 


    <body οnlοad="parseXML()"> 
    <h1>W3Schools Internal Note</h1> 
    <p><b>To:</b> <span id="to"></span>
     
    <b>From:</b> <span id="from"></span>
     
    <b>Message:</b> <span id="message"></span> 
    </p> 
    </body> 
    </html> 
    展开全文
  • 当通过AJAX操作的时候,返回的XML如下 : &lt;?xml version="1.0" encoding="gbk"?&gt; &lt;root&gt; &lt;checkresult&gt; &lt;%=result%&gt; &lt;/...

     

    当通过AJAX操作的时候,返回的XML如下 :
    <?xml version="1.0" encoding="gbk"?>
    <root>
    <checkresult>
    <%=result%>
    </checkresult>
    <checkresult>
    <%=message%>
    </checkresult>
    </root>
    其中返回两个内容,一个结果数,以及一个针对该结果数的消息。
    AJAX这个就不用去说怎么样操作了,下面这个函数只将返回字符串组成XML包的形式:
     
    //装载字符串,将字符串组成XML的形式返回
    function loadXML(xmlString)
    ...{
        var xmldoc;
        try ...{
            xmldoc = new ActiveXObject("Microsoft.XMLDOM");
            if(!xmldoc) xmldoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
        } catch(e)...{}
        if(!xmldoc) ...{
            return null;
        } else ...{
            xmldoc.async = "false";
            xmldoc.loadXML(xmlString);
            if(xmldoc.parseError.errorCode == 0 ) ...{
                return xmldoc;
            } else ...{
                return null;
            }
        }
    }
    但其中需要注意一点,不能够直接利用返回得到的字节流,因为他们不属于字符串,这个时候需要将得到的字节流转换为字符串,才可以操作成功。我本人就遇到这个问题,直接操作就会出错,但我把这里传入的参数改为对应的XML字符串就可以,但我现在还不知道怎么样将字节流转换为字符串,因为总是要内网外网的切换做测试,挺麻烦的。
    下面一个方面就是将XML中我们需要的数据,处理数组,这样我们就可以在其它的地方使用:
     
    //获得检测结果

    function getURLResult(URL)
    ...{
        var url = URL;
        var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
        xmlhttp.open("POST", url, false);
        xmlhttp.send();
        var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");    
        xmlDoc = loadXML(bytes2BSTR(xmlhttp.responseBody));
        var NodeLists = xmlDoc.selectNodes("/root/checkresult");
        var result = new Array();
        
       for(var i=0;i<NodeLists.length;i++)...{
            result[i] = NodeLists[i].text;
        }
        return result;
    }
    在前台页面,就可以将需要的结果进行操作了。

    展开全文
  • 获取XML字符串中Key对应的Value

    千次阅读 2009-09-09 14:46:00
    /// /// 获取XML字符串中Key对应的Value /// /// /// /// public static string GetXmlValue(string xmlContent, string xmlKey) { string xmlValue = "

     /// <summary>
            /// 获取XML字符串中Key对应的Value
            /// </summary>
            /// <param name="xmlContent"></param>
            /// <param name="xmlKey"></param>
            /// <returns></returns>
            public static string GetXmlValue(string xmlContent, string xmlKey)
            {
                string xmlValue = "";
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xmlContent);
                XmlNode xnode = xmlDoc.DocumentElement;
                foreach (XmlNode node in xnode.ChildNodes)
                {
                    if (node.Attributes[0].Value == xmlKey)
                    {
                        xmlValue = node.InnerText;
                    }
                }
                return xmlValue;
            }

    展开全文
  • JAVASCRIPT处理返回的XML字符串

    千次阅读 2008-03-09 14:58:00
    当通过AJAX操作的时候,返回的XML如下 : xml version="1.0" encoding="gbk"?> root> checkresult> %=result%> checkresult> checkresult> %=message%> checkresult> root> 其中返回两个内容,一个...
  • Xml格式字符串的解析

    千次阅读 2014-05-13 09:26:58
    1、解析比如这种格式的XML格式的字符串:  1013  batch_draw  1900000107  96e79218965eb72c92a549dd5a330112  20140512131833895  1900000107  8nn0j1mfS  10.191.82.165      
  • public String doc2String... Source xmlSource = new DOMSource(doc);  trans.transform(xmlSource, strOut);    str = strOut.toString();  }catch(Exception e){  e.printStackTrace();  }  return str; }
  • json字符串xml互转

    千次阅读 2017-05-22 15:24:41
    * @param xmlStr xml字符串(和路径二传一,两都传优先使用路径) * @return String * @throws IOException * @throws JDOMException */ @SuppressWarnings("unchecked") public static String xmlToJson...
  • strings.xml文件中的内容在活动中获得字符串的方式:str = getResources().getString(R.string.app_name);在xml布局文件中引用该字符串:android:text="@string/app_name"在Activity获取字符串资源: ...
  • xml格式的字符串转化为java对象

    千次阅读 2018-12-19 17:29:07
    public class XmlConvert2Bean&lt;... public T convert2Bean(T t, String xml) throws JAXBException { StringReader reader = new StringReader(xml); JAXBContext jaxbContext = JAXBCo...
  • 可以看到节点变成,其实PATH() 括号内的参数是控制节点名称的,这样的话大家可以看一下如果是空字符串(不是没有参数)会是什么结果? ? 1 select ...
  • Redis字符串操作及SDS字符串实现

    千次阅读 2018-05-13 19:53:53
    减少修改字符串长度时所需的内存分配次数(SDS通过非使用空间free实现可空间预分配和惰性空间释放两种策略) 二进制安全(SDS API会以二进制方式处理SDS存放在buf数组里的数据,不会对数据做任何限制、过滤或者假设...
  • XSD 字符串数据类型

    2007-04-06 14:18:00
    String data types are used for values that contains ...字符串数据类型用于定义字符串的值的。String Data Type字符串数据类型The string data type can contain characters, line feeds, carriage returns, and tab
  • mybatis 字符串转时间类型

    千次阅读 2019-06-15 10:55:00
    有时候前端传过来的时间是字符串类型的,如果直接使用,会报错。如在XML里这样使用:select * from table where create_time &gt;= #{startTime},其中startTime为前端传过来的时间。在运行时会报错: ERROR: ...
  • Dataset以及连接字符串的使用

    千次阅读 2012-03-01 21:41:07
    连接字符串前面以及说过了,这次的连接字符串将使用一种特别的方式来访问数据库,可以把他理解成通过解析xml取得连接字符串。这次的小练习也会结合离线数据集DataSet来完成这个小练习。 1,先建一个数据库,看下我...
  • VB.NET中的多行字符串

    万次阅读 2011-12-09 10:59:19
    从我有关于vb.net的记忆开始,VB.net程序员们就一直因为代码中的多行字符串问题一次又一次地被击倒。 一开始,大家使用 & 和换行符 _ 来连接字符串,呃,后来程序员们觉得这太荒唐了,于是出现了高级一些的用法,...
  • json字符串和字典的区别

    万次阅读 多人点赞 2018-11-17 15:38:20
    json字符串和字典的区别: json: (JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐...
  • BurpSuite的有效载荷生成扩展旨在根据有效载荷的类型(基本的整数,字符串,路径,JSON,XML,GWT,二进制)和应用的编码方案来应用模糊测试用例。 该项目才刚刚开始,因此可能存在许多问题,故障和需要改进的地方...
  • 创建和复制字符串(CFString)

    千次阅读 2013-08-31 13:11:40
    字符串对象给你许多可变的方法去创建CFString对象-从字符串常量,从缓冲区,从格式化的字符串,使用已经存在的CFString对象。下面的章节描述了所有的这些技巧。 一些函数返回CFString对象的引用将在别的文章中描述。...
  • 在腾讯微博上发现...因为我发现,字符串在 CDATA 标签里是什么样的,输出时就是什么样的。像 html 的 pre 标签一样。有换行就换行,每行前面有空格的,输出时就有空格。 我的理解:这其实就是 XML 特有的 CD
  • 这篇文章主要介绍了正则表达式匹配不包含某些字符串的技巧,详细分解了应该怎么做和这么做的原因,需要的朋友可以参考下 经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里...
  • div内的中英文字符串换行问题

    千次阅读 2017-04-06 17:16:51
    用HTML加javascript实现打字机的效果…当字符串为英文时无法自动换行…中文时可以自动换行      test typing              var typingText = ...
  • Android字符串单复数

    千次阅读 2015-01-11 18:18:10
    一个字符串集,每个数量表示提供一个字符串。包含一个或多个 元素。   属性: name String 类型。 字符串对的名称。此名称将作为资源 ID 。 一个单数或复数形式的字符串。...
  • mysql对字符串字段的操作未加引号

    千次阅读 2018-09-15 13:09:00
    select * from power where power.serialNumber=0 错误 导致大量数据被删除 ...数据库中serialNumber字段字符串类型 而对于无法隐式转换类型的serialNumber字段,默认变为0 mysql 字符类型转换:http...
  • lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,Java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入,...
  • json的定义、标准格式及json字符串检验 原文地址:http://www.jb51.net/article/50009.htm 今天分享和总结一些json的基本定义、格式、字符串的格式,以及在做测试的时候使用json时做一些简单的校验 现在...
  • Jackson第二篇【从JSON字符串中取值】

    千次阅读 2016-11-15 14:01:37
    第一篇咱们主要学习了实体与json的相互转换的问题,但是咱们需要的是数据 你转换18遍我取不到数据也是扯淡,那么今天咱们就一起学习一下如何从使用Jackson从Json字符串中取值。废话不说直接上代码(注意第一篇里面的...
  • 2017新增了 string_agg函数,可以轻松实现分组合并字符串,而不是用xml path,或者写个自定义 函数来实现。 语法: STRING_AGG ( expression, separator ) [ ] ::=  WITHIN GROUP ( ORDER BY [ ASC | DESC...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,118
精华内容 22,847
关键字:

xml字符串什么样