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. vue在js公用文件中使用this

    main.js 中 let $vue = new Vue({ router, el: '#app', render: h => h(App) }); export default $vue 在j ...

  2. 三分钟速览GPT系列原理

    其中,Transformer和BERT来自Google,GPT系列[GPT.GPT-1.GPT-2.GPT-3.ChatGPT.GPT-4]来自OpenAI. GPT Paper名为Improving ...

  3. img2pdf 报 img2pdf.AlphaChannelError: Refusing to work on images with alpha channel 的解决方案

      问题描述: 在使用img2pdf转换png到pdf时候,报了如下错误 img2pdf.AlphaChannelError: Refusing to work on images with alph ...

  4. Python的函数和方法如何区分呢?

    结论>>>:无论是函数还是方法都用def关键字来定义 方法:只要是自动传值都是方法.由谁来调用.会把自身传入 函数:有几个值就传几个值否则会报错 目录 一.详细介绍函数和方法 二.用 ...

  5. [网络/Linux]处理安全报告/安全漏洞的一般流程与思路

    对近期工作中所经历的4次处理第三方网络安全公司的安全报告及其安全漏洞的经验做一点小结. 1 流程 Stage1 阅读/整理/分类:安全漏洞报告的安全漏洞 (目的:快速了解漏洞规模和分布) Stage2 ...

  6. python去掉重复值的方法--四种

    my_list = [1,1,1,1,2,3,3,3,4,5,5,56,6,7,77,7,5,5,3]# 集合法:缺点是结果会打乱原始数据的顺序print(set(my_list)) # 列表法:缺点 ...

  7. mysql导出csv

    1.正常查询 SELECT a.emp_no '员工号',b.seq '文章序号' from vote_records a INNER JOIN vote_content b ON a.vote_co ...

  8. 随手记:Redis 部署到linux上面后,本地无法连接

    修改redis的配置文件 redis.conf 1. bind 设置为 0.0.0.0 2. protected-mode 设置为no   (也就是关闭保护模式) 3.    daemonize 设置 ...

  9. 万字长文,带你彻底搞懂 HTTPS(文末附实战)

    大家好,我是满天星,欢迎来到我的技术角落,本期我将带你一起来了解 HTTPS. 前言 其实网上写 HTTPS 的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,没有讲原因,作为小白,看完还是 ...

  10. chatgpt接口开发笔记1:completions接口

    chatgpt接口开发笔记1:completions接口 个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.t ...