Library : Util

Package: Configuration

Header : Poco/Util.XMLConfiguration.h

此配置类从 XML 文档中提取配置属性。 支持类似于 xpath 的属性名语法,以允许对 XML 文档的完全访问。 不支持 XML 名称空间。 Xml 文档的根元素的名称不重要并且被忽略。 不支持标记名中的句点。

以下面的 XML 文档为例:

<config>
<prop1>value1</prop1>
<prop2>value2</prop2>
<prop3>
<prop4 attr="value3"/>
<prop4 attr="value4"/>
</prop3>
<prop5 id="first">value5</prop5>
<prop5 id="second">value6</prop5>
</config>
下列属性名称将是有效的,并将产生所示值:

prop1 -> value1
prop2 -> value2
prop3.prop4 -> (empty string)
prop3.prop4[@attr] -> value3
prop3.prop4[1][@attr] -> value4
prop5[0] -> value5
prop5[1] -> value6
prop5[@id=first] -> value5
prop5[@id='second'] -> value6
不支持枚举属性。 调用键(“ prop3.prop4”)将返回一个空范围。
作为一种特殊功能,通过将所需的字符传递给构造函数,可以将用于分隔属性名称的分隔符字符更改为句点('.')以外的其他字符。 这允许使用带有句点的元素名称的 XML 文档。
Direct Base Clases : AbstractConfiguration
All Base Classes: Poco::RefCountedObject, AbstractConfiguration
Xmlconfiguration () ; 创建一个带有“ config”根元素的空 XMLConfiguration。
XMLConfiguration(
    char delim
);
使用给定的分隔符 char (而不是默认的“ . ”)创建带有“ config”根元素的空 XMLConfiguration .

XMLConfiguration(
    Poco::XML::InputSource * pInputSource
);

创建 XMLConfiguration 并从给定 InputSource 加载 XML 文档。
XMLConfiguration(
    std::istream & istr
);
创建 XMLConfiguration 并从给定流加载 XML 文档。
XMLConfiguration(
    const std::string & path
);
创建 XMLConfiguration 并从给定路径加载 XML 文档。
XMLConfiguration(
    const Poco::XML::Document * pDocument
);
使用给定的 XML 文档创建 XMLConfiguration。
XMLConfiguration(
    const Poco::XML::Node * pNode
);
使用给定的 XML 节点创建 XMLConfiguration
XMLConfiguration(
    Poco::XML::InputSource * pInputSource,
    char delim
);
创建 XMLConfiguration 并从给定 InputSource 加载 XML 文档。 使用给定的分隔符字符,而不是默认的“ . ” .
XMLConfiguration(
    std::istream & istr,
    char delim
);
创建 XMLConfiguration 并从给定流加载 XML 文档。 使用给定的分隔符字符,而不是默认的“ . ” .
XMLConfiguration(
    const std::string & path,
    char delim
);
创建 XMLConfiguration 并从给定路径加载 XML 文档。 使用给定的分隔符字符,而不是默认的“ . ” .
XMLConfiguration(
    const Poco::XML::Document * pDocument,
    char delim
);
使用给定的 XML 文档创建 XMLConfiguration。 使用给定的分隔符字符,而不是默认的“ . ” .
XMLConfiguration(
    const Poco::XML::Node * pNode,
    char delim
);
使用给定的 XML 节点创建 XMLConfiguration。 使用给定的分隔符字符,而不是默认的“ . ” .
void load(
    Poco::XML::InputSource * pInputSource
);
从给定的 InputSource 加载包含配置数据的 XML 文档。
void load(
    std::istream & istr
);
加载包含来自给定流的配置数据的 XML 文档。
void load(
    const std::string & path
);
从给定文件加载包含配置数据的 XML 文档。
void load(
    const Poco::XML::Document * pDocument
);
从给定的 XML 文档加载包含配置数据的 XML 文档。
void load(
    const Poco::XML::Node * pNode
);
从给定的 XML 节点加载包含配置数据的 XML 文档。
void loadEmpty(
    const std::string & rootElementName
);
加载一个只包含给定名称的根元素的空 XML 文档。
void save(
    const std::string & path
) const;
将包含配置数据的 XML 文档写入 path 给出的文件。
void save(
    std::ostream & str
) const;
将包含配置数据的 XML 文档写入给定的流。
void save(
    Poco::XML::DOMWriter & writer,
    const std::string & path
) const;
使用给定的 DOMWriter 将包含配置数据的 XML 文档写入 path 给出的文件。
void save(
    Poco::XML::DOMWriter & writer,
    std::ostream & str
) const;
将包含配置数据的 XML 文档写入给定的流。

XMLConfiguration -- Poco的更多相关文章

  1. Poco XMLconfiguration 解析xml配置文件

    环境: Centos7 GCC: 7.3.0 准备需要读取的xml文件: <config> <prop1>1.23</prop1> <prop2>2.3 ...

  2. POCO Controller 你这么厉害,ASP.NET vNext 知道吗?

    写在前面 阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO.VO 的区别 POJO 的扩展 POCO VS DTO Controller 是什么? 关于 P ...

  3. Entity Framework 6 Recipes 2nd Edition(13-5)译 -> 使POCO的修改追踪更高

    问题 你正在使用POCO,你想提高修改跟踪的性能,同时使内存消耗更少.另外,你想通过EF的CodeFirst方式来实现. 解决方案 假设你有一个关于Account(帐户)和相关的Payments(支付 ...

  4. [EF2]Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0

    http://blogs.msdn.com/b/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-en ...

  5. POCO库——Foundation组件之核心Core

    核心Core: Version.h:版本控制信息,宏POCO_VERSION,值格式采用0xAABBCCDD,分别代表主版本.次版本.补丁版本.预发布版本: Poco.h:简单地包含了头文件Found ...

  6. POCO库——Foundation组件概述

    Foundation组件作为POCO库的基础组件,主要包含了核心Core.缓存Cache.加解密Crypt.日期时间DateTime.动态类型Dynamic.事件events.文件系统Filesyst ...

  7. 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记.

    说明 为何要写这篇文章 ,之前看过阿二的梦想船的<Poco::TCPServer框架解析> http://www.cppblog.com/richbirdandy/archive/2010 ...

  8. 使用GDB 追踪依赖poco的so程序,core dump文件分析.

    前言 在windows 下 系统核心态程序蓝屏,会产生dump文件. 用户级程序在设置后,程序崩溃也会产生dump文件.以方便开发者用windbg进行分析. so,linux 系统也有一套这样的东东- ...

  9. Poco::JSON::Array 中object 设置preserveInsertionOrder 时,stringify出错-->深入解析

    在使用poco version 1.6.0时 Poco::JSON::Array 在object  设置preserveInsertionOrder =true 时 调用 array.stringif ...

  10. WCF:传输EntityFramework 实体类的POCO 代理

    WCF传输EntityFramework 实体类的POCO 代理 Windows Communication Foundation (WCF) 不能对代理进行直接序列化或反序列化,因为 DataCon ...

随机推荐

  1. it必给装机小软件附源码

    需要的包 启动之后是这个样子的 远吗如下: #authon fengimport zipfile as zfimport osimport win32apiimport win32conimport ...

  2. 虚拟机安装linux操作系统中IP设置

    问题描述:用虚拟机安装linux操作系统时,不选择分配IP,系统默认会分配动态IP,如果是临时搭建,就可以默认动态IP,也可以使用连接工具连接虚拟机.但如果是长期使用,选择使用固定的IP会更好,需要手 ...

  3. if elseif else 怎么用?

    问题:求三个数中的最大值 上代码-- 第一种  两两比较  每次取较大值 和第三个值比较  最终得到最大值 private static void maxIf2() { int a = (int) ( ...

  4. [操作系统] - 进程切换&进程控制

    2.1.6 进程切换 名称解析 进程的上下文(Context) 当一个进程在执行时,CPU的所有寄存器的值.进程的状态以及堆栈中的内容被称为进程的上下文Context 进程的切换(switch) 当内 ...

  5. c# 异步进阶———— paralel [二]

    前言 简单整理一下paralel,以上是并行的意思. 正文 我们在工作中常常使用task await 和 async,也就是将线程池进行了封装,那么还有一些更高级的应用. 是对task的封装,那么来看 ...

  6. Java的final修饰符

    final 实例域 可以将实例域定义为 final.对于 final 域来说,构建对象时必须初始化 final 实例域,构造对象之后就不允许改变 final 实例域的值了.也就是说,必须确保在每一个构 ...

  7. mysql安装my.cnf配置

    进入my.cnf文件//乱码修改 设置编码 character_set_server = utf8mb4 //编码 collation-server = utf8mb4_general_ci //连接 ...

  8. java指定时间失效Calendar

    获取第二天的1:30的毫秒数 public static Long getEveryDayTime() { Calendar calendar = Calendar.getInstance(); ca ...

  9. MySQL相关操作(实用函数和sql语法)

    1.时间函数 当前时间 select current_timestamp(); 当前时间戳 select UNIX_TIMESTAMP(NOW()); 当前时间戳精确到毫秒 select REPLAC ...

  10. [OpenCV-Python] 21 OpenCV 中的轮廓

    文章目录 OpenCV-Python:IV OpenCV中的图像处理 21 OpenCV 中的轮廓 21.1 初识轮廓 21.1.1 什么是轮廓 21.1.2 怎样绘制轮廓 21.1.3 轮廓的近似方 ...