本文整理汇总了C++中XMLAttribute::get_value方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLAttribute::get_value方法的具体用法?C++ XMLAttribute::get_value怎么用?C++ XMLAttribute::get_value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLAttribute
的用法示例。
在下文中一共展示了XMLAttribute::get_value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mgr
TEST (RwXML, Attributes)
{
XMLManager::uptr_t mgr(xml_manager_create_xerces());
TEST_DESCRIPTION ("Test Attribute support in RW XML");
XMLDocument::uptr_t doc(mgr->create_document());
ASSERT_TRUE(doc.get());
XMLNode *root = doc->get_root_node();
ASSERT_TRUE (root);
XMLNode *child_1 = root->add_child("level1_1");
ASSERT_TRUE (child_1);
XMLNode *child_2 = root->add_child("level1_2");
ASSERT_TRUE (child_2);
XMLNodeList::uptr_t list_1(doc->get_elements ("level1_1"));
ASSERT_TRUE (list_1.get());
ASSERT_EQ (1, list_1->length());
XMLNode *dup = list_1->at(0);
ASSERT_EQ (dup, child_1);
list_1 = root->get_children();
ASSERT_EQ (2, list_1->length());
XMLNode *ns_child_1 = root->add_child("level1_1", nullptr, "rwtest/NS-1", "NS1");
ASSERT_TRUE (ns_child_1);
XMLNode *ns_child_2 = root->add_child("level1_2", nullptr, "rwtest/NS-1", "NS1");
ASSERT_TRUE (ns_child_2);
list_1 = std::move(doc->get_elements ("level1_1"));
ASSERT_TRUE (list_1.get());
ASSERT_EQ (1, list_1->length());
XMLAttributeList::uptr_t list_a1(child_1->get_attributes());
ASSERT_TRUE (list_a1.get());
ASSERT_EQ (0, list_a1->length());
child_1->set_attribute("attr1", "value1");
const char *ns = "http://www.riftio.com/namespace";
child_1->set_attribute("attr2", "value2", ns, "ns");
ASSERT_TRUE (child_1->has_attributes());
ASSERT_TRUE (child_1->has_attribute("attr1"));
//XMLAttribute::uptr_t attr = std::move(child_1->get_attribute("attr1"));
//ASSERT_NE (nullptr, attr.get());
list_a1 = std::move(child_1->get_attributes());
ASSERT_TRUE (list_a1.get());
ASSERT_EQ (2, list_a1->length());
#if 0
for (uint32_t i = 0; i < list_a1->length(); i++) {
XMLAttribute *attr = list_a1->at(i);
std::cout << attr->get_node_name().c_str() << " : " << attr->get_value().c_str() << std::endl;
}
#endif
EXPECT_STREQ(list_a1->at(0)->get_local_name().c_str(), "attr1");
EXPECT_STREQ(list_a1->at(0)->get_value().c_str(), "value1");
EXPECT_STREQ(list_a1->at(1)->get_local_name().c_str(), "attr2");
EXPECT_STREQ(list_a1->at(1)->get_prefix().c_str(), "ns");
EXPECT_STREQ(list_a1->at(1)->get_text_value().c_str(), "value2");
EXPECT_STREQ(list_a1->at(1)->get_name_space().c_str(), "http://www.riftio.com/namespace");
EXPECT_STREQ(list_a1->at(1)->get_value().c_str(), "value2");
child_2->set_attribute("attr3", "value3");
child_2->set_attribute("attr4", "value4");
child_2->set_attribute("attr5", "value5");
XMLAttributeList::uptr_t list_a2(child_2->get_attributes());
ASSERT_TRUE (list_a2.get());
ASSERT_EQ (3, list_a2->length());
std::string tmp_str;
std::string exp_str = "<data xmlns=\"http://riftio.com/ns/riftware-1.0/rw-base\"><level1_1 attr1=\"value1\" xmlns:ns=\"http://www.riftio.com/namespace\" ns:attr2=\"value2\"/><level1_2 attr3=\"value3\" attr4=\"value4\" attr5=\"value5\"/><NS1:level1_1 xmlns:NS1=\"rwtest/NS-1\"/><NS1:level1_2 xmlns:NS1=\"rwtest/NS-1\"/></data>";
tmp_str = doc->to_string();
ASSERT_EQ (tmp_str, exp_str);
}