站点图标 度崩网-几度崩溃

QQxml卡片基础知识[QQ技术教程]

例子:用机器人转卡片时的格式:

<?xml version=’1.0′ encoding=’UTF-8′ standalone=’yes’ ?><msg serviceID=”1″ templateID=”1″ action=”web” brief=”[收到一个红包]” sourceMsgId=”0″ url=”http://baidu.com” flag=”0″ adverSign=”0″ multiMsgFlag=”0″><item layout=”2″><picture cover=”https://eps.gs/dAX” w=”0″ h=”0″ /><title>支付宝QQ联合送红包</title><summary>新老用户最高直接领取99元红包</summary></item><source name=”支付宝” icon=”https://eps.gs/dAX” url=”” action=”app” a_actionData=”com.tencent.mtt://” i_actionData=”tencent100446242://” appid=”-1″ /></msg>

他的标准格式应该是:

<?xml version=’1.0′ encoding=’UTF-8′ standalone=’yes’ ?>

<msg serviceID=”1″ templateID=”1″ action=”web” brief=”[收到一个红包]” sourceMsgId=”0″ url=”$回声$” flag=”0″ adverSign=”0″ multiMsgFlag=”0″>

<item layout=”2″>

<picture cover=”http://api.btstu.cn/sjbz/?lx=meizi” w=”0″ h=”0″ />

<title>支付宝QQ联合送红包</title>

<summary>新老用户最高直接领取99元红包</summary>

</item>

<source name=”支付宝” icon=”https://url.cn/5TmcopA” url=”” action=”app” a_actionData=”com.tencent.mtt://” i_actionData=”tencent100446242://” appid=”-1″ />

</msg>

头部

第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (UTF-8),这是XML必须的

内容

下一行描述文档的根元素(像在说:“本文档是一个消息(msg)”),他的样式为serviceID=”1″ templateID=”1″

属性为 action=”web” (web=网页,app=应用)

brief=”[收到一个红包]” (brief=摘要,显示在未打开聊天窗口时,见下图)

QQxml卡片基础知识[QQ技术教程]-度崩网-几度崩溃

sourceMsgId=”0″

url=”http://baidu.com” (跳转到链接,点击此卡片将跳转到baidu.com)

flag=”0″   flag=标识 长按此卡片弹出的操作选项,它的值可以从0到??(未做测试)此卡片是否可以转发,是由这个值决定的,一般设置为3是不可转发,可以防止别人转走偷代码

adverSign=”0″ multiMsgFlag=”0″

<item layout=”2″>  </item=项目开始,layout=布局,值为2,可以修改为其他值,会有不同的样式出现

<picture cover=”http://api.btstu.cn/sjbz/?lx=meizi” w=”0″ h=”0″ /> 图片链接和宽高 图2-3

picture cover 表示此图片是图片封面

video cover表示此图片是视频封面

audio cover表示此图片是音频封面

<title>支付宝QQ联合送红包</title> 标题  图2-1

<summary>新老用户最高直接领取99元红包</summary> 摘要/内容 图2-2

</item> 此项目结束

内容中可以有多个<item>项目  多项目卡片参考

尾部-图2-4、5

<source name=”支付宝”   来源名称  图2-4

icon=”https://url.cn/5TmcopA”   来源的图标  图2-5

url=”http://baidu.com”  点击此处跳转的链接

action=”web”  此处的功能,如果是web则跳转网页,如果是app则跳转app

a_actionData=”com.tencent.mtt”  如果上面action设置为app,则此处填写应用的包名,以便点击时打开应用,如果是web,可以删除引号内的包名com.tencent.mtt

i_actionData=”tencent100446242://”  如果上面action设置为app,则此处填写签名id?或者是腾讯的某参数,删除引号内的内容即可,一般用不到

appid=”-1″ /> 同上一段

</msg> 整体结束

在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

必须使用相同的大小写来编写打开标签和关闭标签:

<Message>这是错误的。</message>

<message>这是正确的。</message>

在 HTML 中,常会看到没有正确嵌套的元素:

<b><i>This text is bold and italic</b></i>

在 XML 中,所有元素都必须彼此正确地嵌套:

<b><i>This text is bold and italic</i></b>

在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭。

XML 属性必须加引号

属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 标签可以这样写:

<person sex="female">

或者这样也可以:

<person sex='female'>

注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:

<gangster name='George "Shotgun" Ziegler'>

或者可以使用实体引用:

<gangster name="George &quot;Shotgun&quot; Ziegler">

更多XML知识请访问