实例1

//main
package main import (
"bytes"
"encoding/xml"
"fmt"
"io/ioutil"
)
//获取属性值
func getAttributeValue(attr []xml.Attr, name string) string {
for _, a := range attr {
if a.Name.Local == name {
return a.Value
}
}
return ""
} func main() {
content, err := ioutil.ReadFile("KYTT.plym")
decoder := xml.NewDecoder(bytes.NewBuffer(content)) var t xml.Token
var inItemGroup bool
for t, err = decoder.Token(); err == nil; t, err = decoder.Token() {
switch token := t.(type) {
case xml.StartElement:
name := token.Name.Local
//fmt.Println(name)
if inItemGroup {
if name == "Window" {
//fmt.Println(name)
fmt.Println(getAttributeValue(token.Attr, "Width"))
} } else {
if name == "Playlist" {
inItemGroup = true
}
}
case xml.EndElement:
if inItemGroup {
if token.Name.Local == "Playlist" {
inItemGroup = false
}
}
}
}
}

 

KYTT.plym内容
<?xml version="1.0"?>
<PlayProgram X="0" Y="0" Width="1152" Height="512">
<Playlist Type="TimeSegment" Name="常规段1" Date="05/10/2019#05/11/2019" Day="True#True#True#True#True#True#True" Time="22:00:00#07:00:00" IsSpeficTimeZone="False" DiffToUTC="00:00:00" ID="0">
<Context>
<BasicPage>
<Page Name="节目1" PlayType="Order" Duration="00:06:00" PlayTimes="1" BackColor="255#0#0#0" BackgroundImage="" ImageLayout="Stretch" BackMusic="" CustomString="">
<Window Name="通用窗口1" X="0" Y="0" Width="1152" Height="512" Tag="Common">
<Item Type="0">
<Media>
<VideoMedia>
<Name>22.mp4</Name>
<PlayDuration>
<string>0#0#45#13#281</string>
</PlayDuration>
<BeginTime>0001-01-01T00:00:00</BeginTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<Times>-1</Times>
<BackColor>
<string>255#0#0#0</string>
</BackColor>
<BackImagePath />
<BackImageLayout>Stretch</BackImageLayout>
<Opacity>1</Opacity>
<ID>103</ID>
<EnableBorderElement>false</EnableBorderElement>
<BorderElement>
<BorderType>6</BorderType>
<IsClockWise>true</IsClockWise>
<Speed>5</Speed>
<BorderWidth>1</BorderWidth>
<BackColor>
<string>255#255#0#0</string>
</BackColor>
<ForeColor>
<string>255#0#128#0</string>
</ForeColor>
<ColorType>0</ColorType>
<BorderDirectionStyle>0</BorderDirectionStyle>
<BorderSurroundedType>0</BorderSurroundedType>
<BorderUnitData>
<string>424d960000000000000036000000280000002000000001000000010018000000000000000000202e0000202e00000000000000000000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff00000000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff00ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff</string>
</BorderUnitData>
<BorderLeftUnitData>
<string />
</BorderLeftUnitData>
<BorderRightUnitData>
<string />
</BorderRightUnitData>
<BorderBottomUnitData>
<string />
</BorderBottomUnitData>
</BorderElement>
<Tag />
<FinishedMode>PlayInSpecTime</FinishedMode>
<RotateAngle>None</RotateAngle>
<Path>G:\BaiduNetdiskDownload\22.mp4</Path>
<DispRatioType>Full</DispRatioType>
<TxtElement>
<TextFont>
<string>SimSun#12#Regular#Point#12</string>
</TextFont>
<TextColor>
<string>255#255#0#0</string>
</TextColor>
<IsTextEffect>false</IsTextEffect>
<TextEffectType>0</TextEffectType>
<TextEffectColor>
<string>255#255#255#0</string>
</TextEffectColor>
<TextEffectWidth>2</TextEffectWidth>
<TextAlignment>TopLeft</TextAlignment>
</TxtElement>
<IsShowTextElement>false</IsShowTextElement>
<VolumnPercent>100</VolumnPercent>
<RotateType>None</RotateType>
<IsStartFromSpecificPos>false</IsStartFromSpecificPos>
<StartPosition>
<string>0#0#0#0#0</string>
</StartPosition>
<EndPosition>
<string>0#0#45#13#281</string>
</EndPosition>
</VideoMedia>
</Media>
<AdditionalInfo />
</Item>
</Window>
</Page>
</BasicPage>
<GlobalPage>
<Page />
</GlobalPage>
</Context>
</Playlist>
</PlayProgram>

  

go 语言学习 ---解析xml的更多相关文章

  1. 解析XML格式数据

    学习解析XML格式的数据前,搭建一个简单的web服务器,在这个服务器上提供xml文本用于练习. 一.搭建Apache服务器 在Apache官网下载编译好的服务器程序,安装.对于Windows来说127 ...

  2. 四、XML语言学习(1)

    XML语言 1.XML是什么?XML是指可扩展标记语言XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML.它被设计的宗旨是传输数据,而非 ...

  3. XML语言学习随笔

    XML和HTML都是W3C的定制的标准,XML的诞生本身是为了替代不成熟的HTML,但是因为现实的环境,XML替代HTML并未成功.之后W3C为了代码严谨性的决心,又发布了升级版的标记语言XHTML, ...

  4. Javaweb学习笔记——使用Jdom解析xml

    一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...

  5. ACEXML解析XML文件——我是如何学习并在短时间内掌握一个库的使用方法的

    最近做的C++项目中需要使用xml文件保存一些信息,程序启动时会读取这些信息.最终经过主程的评测,决定使用ACEXML库来读取解析XML文件. 好吧,至于为什么选择ACEXML库,我就不说了.既然选择 ...

  6. 【Android学习笔记】XmlResourceParser解析xml文件

    最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...

  7. [置顶] Android学习系列-Android中解析xml(7)

    Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件.   ...

  8. Java学习之路:详细解释Java解析XML四种方法

    XML如今已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. 对于XML本身的语法知识与技术细节,须要阅读相关的技术文献,这里面包含的内容有DO ...

  9. JavaWeb学习日记----XML的解析

    XML的解析简介: 在学习JavaScript时,我们用的DOM来解析HEML文档,根据HTML的层级结构在内存中分配一个树形结构,把HTML的标签啊,属性啊和文本之类的都封装成对象. 比如:docu ...

随机推荐

  1. string拼接时去掉最后一个逗号

     str.replace(str.length() - 1, str.length(), "");

  2. 2016级移动应用开发在线测试12-service

    有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 @醉翁猫咪  1. Service是Android系统中的四大组件之一(Acitivty.Service.ContentPr ...

  3. 在Matlab中画图输出

    在Matlab中画图后,可能会调整格式.输出存储时,格式会忽然消失. 可以修改右下边Export setup,将Font size设置成auto. 这样就保留了编辑效果.

  4. spring boot中控制台打印sql日志

    .properties文件 logging.level.com.example.demo.dao=debug .yml文件 # 打印sql logging: level: com.example.de ...

  5. hdoj - 1181 变形课

    Problem Description 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个 ...

  6. python使用ldap3进行接口调用

    把自己使用到的ldap调用的代码分享出来,希望大家可以参考 #!/usr/bin/python # -*- coding: utf-8 -*- """ @Time : 2 ...

  7. 剑指offer: 求1+2+...+n

    题目描述: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 思路分析: 由于题目的限制条件很多.同样想到 ...

  8. 实验与作业(Python)-02 Python函数入门与温度转换程序(函数、input、eval、int、float、列表)

    截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...

  9. MySql分区后创建索引加速单表查询和连表查询

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/konkon2012/article/de ...

  10. how-does-mysql-replication-really-work/ what-causes-replication-lag

    https://www.cnblogs.com/kevingrace/p/6274073.html https://www.cnblogs.com/kevingrace/p/6261091.html ...