XML操作

LINQ to XML进行xml的操作 linq to xml 提供了一种以元素为中心的理念。这样我们可以仅仅创建出XML的一个片段不包含元素和属性,而无需给出完整的XML文档。 具体的代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; usi... 阅读详情

引入jar包:

dom4j-1.6.1.jar      : 操作XML对象的包

xstream-1.3.1.jar   : 读取和解析XML的包



  编写message类(普通的DTO):

public class Message {
    /*
     *按照微信的标准 :正常的需要小写,因为大写的时候注入可能会出现问题
     */
    //开发者微信号
    private String ToUserName;
    //关注者
    private String FromUserName;
    //信息创建时间
    private long CreateTime;
    //信息类型
    private String MsgType;    
    //内容
    private String Content;    
    //消息id
    private String MsgId;
    public String getToUserName() {
        return ToUserName;
    }
    public void setToUserName(String toUserName) {
        ToUserName = toUserName;
    }
    public String getFromUserName() {
        return FromUserName;
    }
    public void setFromUserName(String fromUserName) {
        FromUserName = fromUserName;
    }
    public long getCreateTime() {
        return CreateTime;
    }
    public void setCreateTime(long createTime) {
        CreateTime = createTime;
    }
    public String getMsgType() {
        return MsgType;
    }
    public void setMsgType(String msgType) {
        MsgType = msgType;
    }
    public String getContent() {
        return Content;
    }
    public void setContent(String content) {
        Content = content;
    }
    public String getMsgId() {
        return MsgId;
    }
    public void setMsgId(String msgId) {
        MsgId = msgId;
    }
    
}


  /**

     * 将request 接收到的XML格式数据转化为Map
     * @param inputStream
     * @return
     * @throws DocumentException
     * @throws IOException
     */
    public static Map<String, String> toMap(InputStream inputStream) throws DocumentException, IOException {
        //获取SAXReader:dom4j-1.6.1.jar 包下的方法
        SAXReader reader = new SAXReader();
        //获取文档
        Document doc = reader.read(inputStream);
        //获取根元素
        Element root = doc.getRootElement();
        
        @SuppressWarnings("unchecked")
        List<Element> elemetns = root.elements();
        //遍历封装到map集合
        Map<String,String> map = new HashMap<String,String> ();
        for(Element e: elemetns){
            map.put(e.getName(), e.getText());
        }
        //关闭流
        inputStream.close();
        return map;

    }

    /**
     * 将Map转化为对象
     * @param xmlMap
     * @return
     */
    public static Message toMessage(Map<String, String> xmlMap) {
        Message message = new Message();
        message.setMsgType(xmlMap.get("MsgType"));
        message.setFromUserName(xmlMap.get("FromUserName"));
        message.setCreateTime(Integer.valueOf(xmlMap.get("CreateTime")));
        message.setMsgId(xmlMap.get("MsgId"));
        message.setContent(xmlMap.get("Content"));
        message.setToUserName(xmlMap.get("ToUserName"));
        return message;
    }

    /**
     * 将Message 对象转化为XML
     * @param message
     * @return
     */
    public static String toXml(Message message) {
        //获取XStream:xstream-1.3.1.jar包下的方法
        XStream stream = new XStream();
        //使用别名,作为根元素,否则根元素为包名.类名 即替换根元素名称
        stream.alias("xml", message.getClass());
        return stream.toXML(message);
    }

    /**
     * 对XML操作演示
     * @param args
     * @throws DocumentException
     */
    public static void main(String[] args) throws DocumentException {
        Message message = new Message();
        message.setContent("content");
        message.setCreateTime(1111111L);
        message.setFromUserName("fromdjl");
        message.setMsgId("id");
        message.setMsgType("text");
        message.setToUserName("todjl");
        String strXMl = toXml(message);
        System.out.println(strXMl);
        /**
         * 将字符串转化为XML对象
         */
        Document doc = DocumentHelper.parseText(strXMl);
        Element rootElt = doc.getRootElement(); // 获取根节点
        System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
        //获取已知根节点下某节点的值
        String ToUserName = rootElt.element("ToUserName").getTextTrim();
        System.out.println(ToUserName);
        //添加子节点
        Element myElement = rootElt.addElement("MyEelement");
        //添加子节点下的子节点
        Element mySonElement = myElement.addElement("MySonElement");
        mySonElement.addText("添加的内容");
        System.out.println("添加节点后的内容:"+rootElt.asXML());
        //删除新增的子节点
         rootElt.remove(myElement);
        System.out.println("移除后的内容:"+rootElt.asXML());
        //遍历
        Iterator<Element>  it = rootElt.elementIterator();
        //解析元素中的信息
        while(it.hasNext()){
            Element e = it.next();
            System.out.println("元素的名称"+e.getName()+";元素的值:"+e.getTextTrim());
        }
    }

输出信息:

<xml>
  <ToUserName>todjl</ToUserName>
  <FromUserName>fromdjl</FromUserName>
  <CreateTime>1111111</CreateTime>
  <MsgType>text</MsgType>
  <Content>content</Content>
  <MsgId>id</MsgId>
</xml>
根节点:xml
ToUserName标签的值为:todjl
添加节点后的内容:<xml>
  <ToUserName>todjl</ToUserName>
  <FromUserName>fromdjl</FromUserName>
  <CreateTime>1111111</CreateTime>
  <MsgType>text</MsgType>
  <Content>content</Content>
  <MsgId>id</MsgId>
<MyEelement><MySonElement>添加的内容</MySonElement></MyEelement></xml>
移除后的内容:<xml>
  <ToUserName>todjl</ToUserName>
  <FromUserName>fromdjl</FromUserName>
  <CreateTime>1111111</CreateTime>
  <MsgType>text</MsgType>
  <Content>content</Content>
  <MsgId>id</MsgId>
</xml>
元素的名称ToUserName;元素的值:todjl
元素的名称FromUserName;元素的值:fromdjl
元素的名称CreateTime;元素的值:1111111
元素的名称MsgType;元素的值:text
元素的名称Content;元素的值:content
元素的名称MsgId;元素的值:id


.NET XmlResolver: OASIS XML Catalogs的开源实现 本文还有配套的精品资源,点击获取 简介:.NET框架中的XmlResolver用于解析XML文档中的外部实体引用。OASIS XML目录标准提供了一种机制,用于管理和重定向XML文档中的外部资源,提高处理效率和安全性。".NET XmlResolver for OASIS XML Catalogs"是一个开源库,支持.NET开发者在XML处理时使用XML目录,简化资源管理并... 阅读详情

相关推荐

xml-resolver-1.2

xml-resolver-1.2 xml-resolver-1.2

rrpc:创建配置类及引入xml配置

为什么要引入xml配置,其实到目前为止我们的所有的配置相关的内容全部定义在了启动引导程序中,这样其实有一些不合理,事实上全局配置 我们应该统一放在一个类中,如下,让这个类将会成为我们当前工程的上下文环境,因此引入xml配置的方式会让我们的代码看起来更合理,更便于阅读。

qq_59403228的博客 272

xml-commons-resolver-1.1

xml-commons-resolver-1.1

Servlet详解(从xml到注解)

详细介绍了servelt的内容

m0_69266818的博客 2389

resolver.jar

resolver.jar

Uncertainty-Aware Mean Teacher(UA-MT)

本文提出了一种新的基于不确定性的半监督学习框架(UA-MT),通过额外利用未标记的数据从3D MR图像中分割左心房。具体地说,本文建立了一个教师模型和一个学生模型,学生模型通过最小化标注数据上的分割监督损失和所有输入数据上的与教师模型预测输出的一致性损失进行优化。如果没有未标记输入中的注释,教师模型的预测目标可能不可靠且有噪声。:在估计不确定性 U 的指导下,我们过滤掉相对不可靠**(高不确定性),整个体积** U 的不确定性**是 {u} ∈ RH×W ×D。过滤掉高不确定性的,也就是熵大于某个值的。

Alexa_的博客 1870

.NET 7 中的重大变更:XmlSecureResolver 已过时

你是否曾经在 XML 处理中依赖 `XmlSecureResolver` 来确保资源解析的安全性?在 .NET 7 中,这个曾经重要的安全组件已经正式被标记为过时(Obsolete)。本文将深入解析这一变更的背景、影响以及迁移方案。 ## 变更概述 在 .NET 7 中,`System.Xml.XmlSecureResolver` 类型及其 `GetEntity` 方法被标记为过时,具体表现为...

gitblog_01047的博客 369

机器人强化学习入门学习笔记

如果你追求高精度动力学仿真、用于强化学习或机器人研究,MuJoCo 是一个非常优秀的选择。如果需要快速实验、使用真实机器人模型,PyBullet 或 Gazebo可能更合适;如果你追求大规模并行训练,Isaac Gym 或 BraX会更高效。legged gym底层是​编辑isaacgym,基于gpu训练可以多环境并行训练,收敛到一个稳定行走的策略快。本视频MuJoCo基于cpu训练很慢。

xiaomu_347的博客 1469

C#系统XML解析

C#系统XML解析C#微软开发的XML解析,需要引用一个命名空间:using System.Xml;其解析代码块如下: #region SYSTEM.XML XmlDocument doc = new XmlDocument(); doc.Load(Application.dataPath + "/Resources/XMLFile1.xml");

weixin_38621217的博客 338

GIS国土工具实战:从地类分析到坐标转换,一站式解决项目难题

本文详细介绍了GIS国土工具在国土整治项目中的高效应用,涵盖地类分析、坐标转换、影像加载等核心功能。通过实战案例展示如何利用该工具快速处理shp与txt文件转换、智能比对三调二调数据,以及优化影像加载策略,显著提升项目效率。特别适合需要处理复杂国土数据的专业人员使用。

weixin_28732953的博客 334

代码详解——Transformer

对于一个序列,在 time_step 为 t 的时刻,我们的解码输出应该只能依赖于 t 时刻之前的输出,而不能依赖 t 之后的输出。当 Decoder 的输入矩阵和 Mask 矩阵输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。然后判断是否传入的mask, 如果有mask (mask参数值不为None),则把mask为0的位置,将对应位置的attn的值设为无穷小的负数。可以发现得到的输出和输入的K,Q,V的大小相同。

zyw2002的博客 7215

html xml 操作,xml的操作

xml的基本操作1 JS装载xml文档,是将xml的字符串装载成dom对象2 Dom操作XML3浏览器处理空白信息的差异4 dom对象序列化xml字符串将xml文档装载成dom对象装载xml文档html文档中的jsfunction test(){vardomxml1=loadXML(true,"loadXML.xml");vardomxml2=loadXML(false,"124");alert(...

weixin_32924669的博客 367

cartographer错误终结者 ordered_multi_queue.cc:155 Queue waiting for data

错误描述 错误提示的感应器数据可能是: Queue waiting for data:(0, points2) Queue waiting for data:(0, odom) 说明在提供给cartographter的传感器数据出现了问题,没有被成功解析。 原因分析 小编是使用自己编写的odom话题发布时,cartographer爆出了该错误。 于是设想传感器数据相关的tf或lua配置或数据本身存在错误。 于是逐个排查,最终发现了错误原因。 排查可能原因:tf错误 小编之前已处理过tf与lua配置的问题 参

人工智能机器人 4157

XML常用操作

 XML在我们的程序中用到的越来越多,因为它存储、读取、修改都比较方便。下面我来分享一下XML的常用操作(增删改查),下面是程序运行效果:增(增加节点包括创建XML):/// /// 创建XML文档 /// /// public static void CreateXML(string path, Stude

Who【文】 5055

Ubuntu零基础入门到精通【1.2讲】:Ubuntu 与 Linux 的关系 —— 你用的到底是什么?

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 3275

基于计算机视觉的无人便利店技术:从算法到部署的系统化实战指南

摘要:本文系统介绍了基于计算机视觉的无人便利店技术方案,提出"商品检测-跟踪-动作识别-防损-结算"五段式流水线架构。详细阐述了YOLOv8-Seg商品检测、OC-Sort多目标跟踪、3D-CNN+ST-GCN动作识别等核心算法实现,并完成NVIDIA Jetson Xavier NX边缘端的优化部署。通过TensorRT量化、DeepStream加速等技术手段,系统在保持94.7%动作识别准确率的同时,将漏单率降至0.8%,单店云端算力成本较行业平均降低84%。所有代码已开源,可直接应

博客 625

VB操作XML

XSL(可扩展样式表语言)是对CSS的一种扩展,功能比CSS强大得多。XML链接是在HTML链接的功能之上加以扩展,可以支持更为复杂的链接,通过XML链接,不仅可以在XML文件之间建立链接,还可以建立其他类型数据之间的链接,其规范分为三个部分:XLink语言,XPointer语言和XML Base.   XML标准体系中还有其他很多技术,比如针对DTD的不足而提出的XML Schema,...

FLY_THINK2012的博客 584

支持向量机算法之鸢尾花特征分类【机器学习】

支持向量机(SVM)是一种二元分类模型。它的基本模型是在特征空间中定义最大区间的线性分类器,这使它不同于感知器;支持向量机还包括核技术,这使得它本质上是一个非线性分类器。支持向量机的学习策略是区间最大化,它可以形式化为求解凸二次规划的问题,等价于正则化铰链损失函数的最小化。支持向量机的学习算法是求解凸二次规划的优化算法。Scikit learn(sklearn)是机器学习中常见的第三方模块。它封装了常见的机器学习方法,包括回归、降维、分类、聚类等。实例的特征向量(以2D为例)映射到空间中的一些点,如下图中的

一键难忘的博客 4971

XML——XML操作

操作XML文件需要引用命名空间:System.Xml; 向Xml文件中添加信息 添加Student.xml文件,文件信息如下: <?xml version="1.0" encoding="utf-8"?> <Students> <Student class="一班"> <Name>张三</Name> &lt...

AI浩 7335

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

XML的操作

一、操作XML文件 //     /// 允许查看当天信息的用户     ///     public class AllowViewAction     {         public bool IsInAllow(string strUserId)         {             string ids = string.Empty;

ZLHZHJ的专栏 725

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java操作XML

最近一直在做高效平台的框架,其实意识到我要做一个简单的框架的时候是在我已经做完我认为的一版界面之后,开始以为我要做的是一个可配置的首页展示,但是吭哧吭哧做了两个星期,大概功能实现了之后,才发现要做的不是这个,哎,需求不清楚害死人啊,但是这两个星期并没有白白浪费,也从中学到了很多东西,下面主要介绍读取XML。   在做系统的时候,经常会遇到读取xml的需求,一开始是读取,于是我上网开始查询读取,接

蒋倩兰——蕙质兰心 8045

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Delphi操作XML

转自:http://hi.baidu.com/0xcea4/blog/item/efda40ae580433f2fbed508a.html Delphi操作XML是很方便的,主要有两种方法; 1.用TClientDataSet操作XML;TClientDataSet是个好东西,用它操作XML是很简单的事,不过缺点是只能操作固定格式的 XML,它适合操作表结构的数据,如果你需要...

254

基于MATLAB的XML操作

写在前面:本文介绍2种MATLAB XML操作的方法:1.MATLAB自带的xmlread,xmlwrite;2.xml_io_tools工具包。推荐大家使用xml_io_tools工具包。您如果急着用的话,可以直接看第二部分。 1. MATLAB自带的xmlread,xmlwrite   1.1 函数和方法简介 xmlreadRead XML document and r...

delaoguai7289的博客 1014

Python XML操作

Python XML操作 XML(可扩展性标记语言)是一种非常常用的文件类型,主要用于存储和传输数据。在编程中,对XML的操作也非常常见。 本文根据python库文档中的xml.etree.ElementTree类来进行介绍XML的解析:https://docs.python.org/3.5/library/xml.etree.elementtree.html BTW,xml.etree....

jgw2008的专栏 425

java操作xml_Java操作XML

packageorg.xml;importjava.util.List;importorg.dom4j.Attribute;importorg.dom4j.Element;public class XmlOper extendsXmlBuilder {publicXmlOper() {super();}publicXmlOper(String path) {super(path);}//根据路径查...

weixin_42299566的博客 202

C# XML操作类

using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 /// </summary> public class XmlHelper { #region 字段定义 ...

Diamond、的博客 934
上一篇: 配置spring 事务
下一篇: oracle常用函数总结
java_resolver
博客等级 码龄10年 3粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值