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. Feeder 一款 Mac 上的 RSS 阅读器,更优雅地跟踪最新的新闻和博客文章

    Feeder 是一款 Mac 上的 RSS 阅读器,它可以帮助用户轻松地订阅和管理 RSS 源,让用户可以轻松地跟踪最新的新闻和博客文章. 下载: FeederMac ⇲ 详细了解 Feeder 的界 ...

  2. vue 之 computed方法自带缓存踩坑1

    使用场景:ant-vue 穿梭框使用 页面使用computed方法处理组织结构数据,退出页面时,对加载数据做了set null 操作,再次进入页面时,穿梭框只显示数据,无法做左右穿梭功能. 原因:co ...

  3. w10通过修改注册表实现禁止更新系统

    对于Windows系统更新或驱动更新,并不是越新越好,当然新版本的系统可能带来了许多新的功能.漏洞修补.漂亮的用户界面和流畅的系统优化等,但是新版本的系统和驱动更新有可能会造成CPU占用居高不下,文件 ...

  4. IDEA中隐藏问文件或者文件夹

    点击+,输入要隐藏的文件名,支持*通配符 回车确认

  5. day93:flask:Cookie&Session&请求钩子&捕获错误&上下文&Flask-Script

    目录 1.HTTP的会话控制 2.Cookie 3.Session 4.请求钩子 5.捕获错误 6.上下文:context 7.Flask-Script 1.HTTP的会话控制 1.什么是会话控制? ...

  6. Docker认识、Docker安装

    一.免费版和企业版 Docker-CE指Docker社区版,由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用. Docker-EE指Docker企业版,为收费版本,由售后团队和技术团 ...

  7. .Net 6.0 部署Linux+Nginx +PM2教程

    今天带大家将本地.Net6.0项目部署到Linux系统中,其中有用到Nginx反向代理和PM2进程管理工具,希望本偏文章能对你有所帮助,成为你成功路上的垫脚石! 背景: 在.Net 5.0横空出世之后 ...

  8. 去中心化金融-Lec3

    区块链 (什么是区块链?)区块链提供了一种无需可信的参与方,能够让多个参与方实现合作的方式(若存在可信的第三方,则不需要区块链:但是金融系统中往往没有可信的第三方) 终端用户工具:user inter ...

  9. 2022-07-08:以下go语言代码输出什么?A:3;B:+Inf;C:true;D:编译错误。 package main import “fmt“ func main() { var

    2022-07-08:以下go语言代码输出什么?A:3:B:+Inf:C:true:D:编译错误. package main import "fmt" func main() { ...

  10. 2021-08-02:按公因数计算最大组件大小。给定一个由不同正整数的组成的非空数组 A,考虑下面的图:有 A.length 个节点,按从 A[0] 到 A[A.length - 1] 标记;只有当

    2021-08-02:按公因数计算最大组件大小.给定一个由不同正整数的组成的非空数组 A,考虑下面的图:有 A.length 个节点,按从 A[0] 到 A[A.length - 1] 标记:只有当 ...