as中xml的应用

as中xml的应用,第1张

用"."点符号取xml的子级 用".@"取xml里的元素值

你的根元素<playlist>下有很多相同名字的子元素<player>那就需要给这些player定义一个不重复的属性来取他们 防止取错

例如:给player定义ID

<player id="1"><text>asd1</text></player>

<player id="2"><text>asd2</text></player>

<player id="3"><text>asd2</text></player>

var playerId:String = 1

var player:XMLList = lxxml.player.(@id == playerId)

trace(player.text)//结果为asd1

拼接xml格式报文

从页面表单提交和配置文件中读取出参数,或用实体类接收的页面传来的参数。建立map对象,用put()方法把参数添加进去。然后遍历map,将map转换成xml。

[java] view plain copy

StringBuffer soapResultData = new StringBuffer()

//xml声明

soapResultData.append("<?xml version=\"1.0\" encoding=\"GBK\"?><ROOT><MSG_HEAD>")

//请求头

soapResultData.append(requesttoxml(msgHead))

soapResultData.append("</MSG_HEAD><MSG_BODY>")

//请求体

soapResultData.append(requesttoxml(resmap))

soapResultData.append("</MSG_BODY></ROOT>")

[java] view plain copy

/**

* 将map转化为XML格式的字符串

* @param resmap

* @return

*/

ublic static String requesttoxml(Map<String, String>resmap){

StringBuffer soapResultData = new StringBuffer()

for(String key : resmap.keySet()){

soapResultData.append("<")

soapResultData.append(key)

soapResultData.append(">")

soapResultData.append(resmap.get(key))

soapResultData.append("</")

soapResultData.append(key)

soapResultData.append(">")

}

return soapResultData.toString()

将接收到的xml格式报文,转换成实体类。

一、 *** 作说明

在QoS测试中,经常要设置不同优先级的报文,来验证被测设备对于优先级的调度。所以,我们就要了解如何设置IPv6和IPv6报文中的DSCP(大部分使用DSCP值,也会用到TOS值)

这里我们使用测试接交换机,交换机转发测试仪发出的报文,我们在接收端口抓包,验证配置正确性。

二、 测试拓扑

拓扑说明

1、测试仪两个端口和DUT两个端口相连

2、测试P1端口发出流量,经过DUT转发后,从B端口发出,进入P2端口。

三、 测试思路

1、创建两个Port之间的流量,这里为了便捷就使用Raw流。

2、修改IPv4和IPv6报文中的DSCP值,在接收端口抓包查看DSCP字段是否符合设置预期

四、 测试步骤

1、 IPv4报文 DSCP 值设置

(1)占用端口

(2)创建流量,这里为了便捷,使用RAW流

(3)设置IPv4头部中的DSCP值。首先选在TOS或DSCP,这里我们以DSCP为例。

设置DSCP类型。这里有两个类型:CodePoint和Class Selector。

其中,Class Selector对应我们常说的AFxx

其中,CodePoint,对应我们常说的CSxx。这里根据客户要要求设定。

另外,点击QoS Edit按钮,这里可以看到DiffServ和ToS的设置,以及DiffServ下,CodePoint和Cass Selector的对应关系。

2、 IPv6报文的DSCP值设置

(1)设置RAW流

(2)将IPv4头删除,添加IPv6报文头

(3)可以看到,报文头里只有Traffic Class(十进制)字段,我们就要通过设置Traffic Class字段,来实现DSCP值的设置。

这里需要注意下,我们首先看下报文中的DSCP值。Traffic Class字段有8bits,其中前6bits是DSCP值,后2bits是ECN(默认00)

因此,我们在报文编辑时填的Traffic Class数值时包括ECN的。

(4)编辑Traffic Class字段

我们先找到DSCP值10进制的编码表,例如下面这张。因为后面还有两个bit的ECN值00。所以我们把10进制的DSCP值*4,就得到了10进制的Traffic Class值。

例如,我们这里使用AF43对应10进制38, 38*4=152。

(5)发送流量,接收端口抓包,显示DSCP值为AF43


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7969610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存