C语言怎样使libxml像数据库一样动态创建节点哇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎样使libxml像数据库一样动态创建节点哇相关的知识,希望对你有一定的参考价值。
参考技术A 创建xmlTextWriterPtr后,就可以调用相关函数了啊,节点创建相关的主要操作一般有两种方式一种是用xmlTextWriterWriteFormat或xmlTextWriterWriteElement;
另一种是通过xmlTextWriterStartElement、xmlTextWriterWriteAttribute、xmlTextWriteWriteString、
xmlTextWriterEndElement实现。
最后一般通过xmlTextWriterEndDocument对所有未加元素结束匹配的元素进行自动匹配。
相关函数的意义一看函数名就一目了然了啊。具体看帮助文档。
xmlTextWriterPtr 创建时可以是绑定buffer的Memory模式,也可以是绑定文件的File模式,还可以是绑定xmlDoc的doc模式。很灵活的。追问
你这个是标准xml吧,我现在想在一个已知的xml文件中,用libxml在根节点下插入一个新节点,该怎么做啊
参考技术B 在发表感想么?我怎样才能像单例一样做一些代码工作? [复制]
【中文标题】我怎样才能像单例一样做一些代码工作? [复制]【英文标题】:How can I do some code work just like a singleton? [duplicate] 【发布时间】:2011-06-15 10:23:48 【问题描述】:可能重复:C++ Singleton design pattern.
如何在不使用单例的情况下只创建一个类的一个实例并与我的所有头文件和源文件共享该实例?能举个简单的例子吗?
【问题讨论】:
呃,这不是单身人士的定义吗? “共享该实例”是什么意思?还有,作业? 我知道这是单例的定义,但我需要知道是否有其他方法可以做到这一点。当我说要共享实例时,我的意思是使用在我的所有源和标头中创建的唯一实例。我也想和例子:)。谢谢 也许“使用单例”意味着在类本身中实现约束。 我不认为它是重复的;他似乎知道辛格尔顿,但他不想要。看起来这并不能解决他的问题;。这就是为什么他要问一个解决方案“不使用单例”。 【参考方案1】:你可以这样做:
class Sample
/*** your code **/
public:
Sample();
void DoWork();
int GetValue();
/*** other functions ***/
;
Sample & OneInstance()
static Sample instance;
return instance;
//Use OneInstance everywhere like this
OneInstance().DoWork();
注意Sample
不是Singleton,但您可以使用OneInstance()
函数,就好像它是Sample
的同一个实例一样,您可以在任何地方使用它!
您可以使用它来初始化一些全局变量,也可以这样:
int g_SomeValue= OneInstance().GetValue();
这不能用Sample
的全局static
实例来完成。那是因为:
static initialization order fiasco
【讨论】:
问题在于该示例允许任何人创建示例实例。 @jose:完全正确。这就是不是单身人士的意思。那不是问题。 OP 想要一个他可以在整个程序中使用的实例。他可能想在其他一些上下文或情况下创建多个实例。他可能正面临一个他想要创建这样一个类或这样一个全局实例的情况。我只是想帮助他,因为我不知道他到底面临着什么。也许,他根本不需要它,或者也许他需要它。谁知道。但我能做的,回答他的问题。也许,它会帮助他! 如果我在头文件中的类声明该类的全局实例为 const 并在我的其他源和头文件中使用它怎么办?可以吗?? Sample & OneInstance() static Sample instance;返回实例; 这将永远是同一个实例??? @jose:const
实例无法更改,也许他不想要它。而且我的解决方案不会解决所有问题,没有解决方案可以解决所有问题。我不知道他是否想要const
实例。到目前为止,他还没有这么说。【参考方案2】:
Don't do.
【讨论】:
【参考方案3】:我建议不要在可以避免的情况下共享任何内容,因为共享会使并发变得困难。如果您不关心并发性,那么您应该将对象作为额外参数传递给函数。全局变量通常是个坏主意,而单身人士通常只是穿着奇装异服的全局变量。
【讨论】:
以上是关于C语言怎样使libxml像数据库一样动态创建节点哇的主要内容,如果未能解决你的问题,请参考以下文章