本文整理汇总了C++中XmlDocument::getDocumentElement方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDocument::getDocumentElement方法的具体用法?C++ XmlDocument::getDocumentElement怎么用?C++ XmlDocument::getDocumentElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDocument
的用法示例。
在下文中一共展示了XmlDocument::getDocumentElement方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: contstantsDoc
CtrlrIDManager::CtrlrIDManager() : ctrlrIdTree(Ids::ctrlr)
{
XmlDocument contstantsDoc (String (BinaryData::CtrlrIDs_xml, BinaryData::CtrlrIDs_xmlSize));
XmlDocument vendorsDoc (String (BinaryData::CtrlrMIDIVendors_xml, BinaryData::CtrlrMIDIVendors_xmlSize));
{
ScopedPointer <XmlElement> xml (contstantsDoc.getDocumentElement());
if (xml)
{
ctrlrIdTree = ValueTree::fromXml (*xml);
if (ctrlrIdTree.isValid())
constantsTree = ctrlrIdTree.getChildWithName ("constants");
}
}
{
ScopedPointer <XmlElement> xml (vendorsDoc.getDocumentElement());
if (xml)
{
vendorTree = ValueTree::fromXml (*xml);
if (vendorTree.isValid())
{
/* let's sort it alphabeticaly */
VendorComparator c;
vendorTree.sort (c, nullptr, false);
}
}
}
}
示例2: createFromImageData
//==============================================================================
Drawable* Drawable::createFromImageData (const void* data, const size_t numBytes)
{
Drawable* result = 0;
Image image (ImageFileFormat::loadFrom (data, (int) numBytes));
if (image.isValid())
{
DrawableImage* const di = new DrawableImage();
di->setImage (image);
result = di;
}
else
{
const String asString (String::createStringFromData (data, (int) numBytes));
XmlDocument doc (asString);
ScopedPointer <XmlElement> outer (doc.getDocumentElement (true));
if (outer != 0 && outer->hasTagName ("svg"))
{
ScopedPointer <XmlElement> svg (doc.getDocumentElement());
if (svg != 0)
result = Drawable::createFromSVG (*svg);
}
}
return result;
}
示例3: importTrigger
void TextEditorWindow::importTrigger()
{
TextBuffer* buf=getTextBuffer();
String str=(buf->isRegion()) ? buf->getRegion() : buf->getLineAtPoint();
int a=str.indexOf(T("<trigger"));
int b=str.lastIndexOf(T("/>"));
if (a>=0 && a<b)
{
XmlDocument doc (str.substring(a,b));
XmlElement* xml=doc.getDocumentElement();
int type=TriggerIDs::fromString(xml->getStringAttribute(T("type")));
if (xml->hasTagName(T("trigger")) && type>TriggerIDs::Empty)
{
Trigger* trig=new Trigger(type);
trig->initFromXml(xml);
((EditorComponent*)getContentComponent())->setTrigger(trig);
// clear the region if successful so that we don't start
// triggering just the left over selection
buf->clearRegion();
}
else
Console::getInstance()->printError(T("Buffer region does not contain a valid '<trigger .../>' XML description.\n"));
}
else
Console::getInstance()->printError(T("Buffer region does not contain a '<trigger .../>' XML description.\n"));
}
示例4: saveUnloggedEvents
//==============================================================================
void ProjucerAnalyticsDestination::saveUnloggedEvents (const std::deque<AnalyticsEvent>& eventsToSave)
{
XmlDocument previouslySavedEvents (savedEventsFile);
std::unique_ptr<XmlElement> xml (previouslySavedEvents.getDocumentElement());
if (xml.get() == nullptr || xml->getTagName() != "events")
xml.reset (new XmlElement ("events"));
for (auto& event : eventsToSave)
{
auto* xmlEvent = new XmlElement ("google_analytics_event");
xmlEvent->setAttribute ("name", event.name);
xmlEvent->setAttribute ("type", event.eventType);
xmlEvent->setAttribute ("timestamp", (int) event.timestamp);
xmlEvent->setAttribute ("user_id", event.userID);
auto* parameters = new XmlElement ("parameters");
for (auto& key : event.parameters.getAllKeys())
parameters->setAttribute (key, event.parameters[key]);
xmlEvent->addChildElement (parameters);
auto* userProperties = new XmlElement ("user_properties");
for (auto& key : event.userProperties.getAllKeys())
userProperties->setAttribute (key, event.userProperties[key]);
xmlEvent->addChildElement (userProperties);
xml->addChildElement (xmlEvent);
}
xml->writeToFile (savedEventsFile, {});
}
示例5: readConfig
void XmlParser::readConfig()
{
XmlDocument* xmlConfigDoc = new XmlDocument(File(File::getCurrentWorkingDirectory().getChildFile(configFile)));
XmlElement* xmlConfigElem = xmlConfigDoc->getDocumentElement();
if (xmlConfigElem != NULL)
{
XmlElement* pictures = xmlConfigElem->getChildByName(T("pictures"));
if (pictures != NULL)
{
if (pictures->hasAttribute(T("path")))
{
m_picturePath = pictures->getStringAttribute(T("path"));
}
else
{
LOG_ERROR(T("Element \"pictures\" is incomplete"));
}
}
else
{
LOG_ERROR(T("Element \"pictures\" not found"));
}
delete xmlConfigElem;
}
else
{
LOG_ERROR((T("XML load failed: %ls"), (const juce_wchar*)xmlConfigDoc->getLastParseError()));
}
delete xmlConfigDoc;
}
示例6: returnSpeciesName
String BirdID::returnSpeciesName(int predictedClass)
{
XmlDocument myDocument (File ("C:/Users/Aneesh/Desktop/BirdID_Data/species.xml"));
ScopedPointer<XmlElement> element = myDocument.getDocumentElement();
XmlElement* speciesElement = element->getChildElement(0);
int numSpecies = speciesElement->getAllSubText().getIntValue();
speciesElement = element->getChildElement(1);
String speciesText = speciesElement->getAllSubText();
int startIndex = 0;
String tempString;
for(int i=0;i<numSpecies;i++)
{
int endIndex = speciesText.indexOfChar(startIndex+1,',');
if(i==predictedClass-1)
{
tempString = speciesText.substring(startIndex,endIndex);
break;
}
startIndex = endIndex+1;
}
element = nullptr;
return tempString;
}
示例7: loadDocument
const String FilterGraph::loadDocument (const File& file)
{
XmlDocument doc (file);
ScopedPointer<XmlElement> xml (doc.getDocumentElement());
if (xml == nullptr || ! xml->hasTagName ("FILTERGRAPH"))
return "Not a valid filter graph file";
restoreFromXml (*xml);
return String::empty;
}
示例8: loadDocument
Result FilterGraph::loadDocument (const File& file)
{
XmlDocument doc (file);
ScopedPointer<XmlElement> xml (doc.getDocumentElement());
if (xml == nullptr || ! xml->hasTagName ("FILTERGRAPH"))
return Result::fail ("Not a valid filter graph file");
restoreFromXml (*xml);
return Result::ok();
}
示例9: loadDocument
Result PMixDocument::loadDocument (const File& file)
{
XmlDocument doc (file);
ScopedPointer<XmlElement> xml (doc.getDocumentElement());
if (xml == nullptr || ! xml->hasTagName ("PMIXDOC"))
return Result::fail ("Not a valid pMix file");
restoreFromXml (*xml);
return Result::ok();
}
示例10: loadXml
bool pspSpatConfig::loadXml(File xmlFile){
XmlDocument myDocument (xmlFile);
XmlElement* mainElement = myDocument.getDocumentElement();
if(!mainElement->hasTagName("SpatConfig")){
AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "xml file doesn't contain room config data", "", "OK");
//delete mainElement;
return false;
}
else{
if(XmlElement* myConfig = mainElement->getChildElement(0)){
getAttributesFromElement(myConfig);
}
}
delete mainElement;
return true;
}
示例11: loadXmlRoomConfig
bool pspRoomConfigGUI::loadXmlRoomConfig(File xmlFile){
XmlDocument myDocument (xmlFile);
XmlElement* mainElement = myDocument.getDocumentElement();
if (mainElement == nullptr)
{
AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "error loading room config xml file !", "", "OK");
delete mainElement;
return false;
}
else{
if(!mainElement->hasTagName("RoomConfig")){
AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "xml file doesn't contain room config data", "", "OK");
delete mainElement;
return false;
}
else{
XmlElement* roomSize = mainElement->getChildByName("roomSize");
if(roomSize){
static_cast<roomConfigSlider*>(roomDimensions[0])->setValue(roomSize->getDoubleAttribute("width"));
}
XmlElement* speakers = mainElement->getChildByName("speakers");
if(speakers != nullptr){
int ns = speakers->getNumChildElements();
setNumSpeakers(ns);
nss->setValue(ns);
cout<<endl<<speakersPosition.size();
/*
for(int i=0; i<ns; i++){
static_cast<speakerPositionSlider*>(speakersPosition[3*i+0])->setValue(speakers->getChildElement(i)->getDoubleAttribute("x"));
static_cast<speakerPositionSlider*>(speakersPosition[3*i+1])->setValue(speakers->getChildElement(i)->getDoubleAttribute("y"));
static_cast<speakerPositionSlider*>(speakersPosition[3*i+2])->setValue(speakers->getChildElement(i)->getDoubleAttribute("z"));
}
*/
}
//delete speakers;
}
}
delete mainElement;
return true;
}
示例12: paste
void ComponentLayout::paste()
{
XmlDocument clip (SystemClipboard::getTextFromClipboard());
ScopedPointer<XmlElement> doc (clip.getDocumentElement());
if (doc != nullptr && doc->hasTagName (clipboardXmlTag))
{
selected.deselectAll();
forEachXmlChildElement (*doc, e)
if (Component* newComp = addComponentFromXml (*e, true))
selected.addToSelection (newComp);
startDragging();
dragSelectedComps (Random::getSystemRandom().nextInt (40),
Random::getSystemRandom().nextInt (40));
endDragging();
}
示例13: loadXml
void pspRandomSystem::loadXml(juce::File xmlFile){
XmlDocument myDocument (xmlFile);
XmlElement* mainElement = myDocument.getDocumentElement();
if (mainElement == nullptr)
{
AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "error loading randomTrajectory xml file !", "", "OK");
delete mainElement;
return;
}
else{
if(!mainElement->hasTagName("RandomTrajectory")){
AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "xml file doesn't randomTrajectory data", "", "OK");
delete mainElement;
return;
}
else{
XmlElement* params = mainElement->getChildByName("parameterValues");
if(params){
int np = params->getIntAttribute("numParticles");
changeNumParticles(np);
static_cast<pspParticleSystemGUIGenericComponent*>(myGui->getGenericComponent())->getNumParticleSlider()->setValue(np);
setBounds(1, params->getDoubleAttribute("lxMin"));
setBounds(2, params->getDoubleAttribute("lxMax"));
setBounds(3, params->getDoubleAttribute("lyMin"));
setBounds(4, params->getDoubleAttribute("lyMax"));
setBounds(5, params->getDoubleAttribute("lzMin"));
setBounds(6, params->getDoubleAttribute("lzMax"));
static_cast<pspRandomSystemSpecificGUI*>(mySpecificGui)->setSliderValues(params->getDoubleAttribute("lxMin"),
params->getDoubleAttribute("lxMax"),
params->getDoubleAttribute("lyMin"),
params->getDoubleAttribute("lxMax"),
params->getDoubleAttribute("lzMin"),
params->getDoubleAttribute("lzMax"));
}
}
}
delete mainElement;
}
示例14: getXmlFromBinary
XmlElement* AudioProcessor::getXmlFromBinary (const void* data,
const int sizeInBytes)
{
if (sizeInBytes > 8
&& ByteOrder::littleEndianInt ((const char*) data) == magicXmlNumber)
{
const int stringLength = (int) ByteOrder::littleEndianInt (((const char*) data) + 4);
if (stringLength > 0)
{
XmlDocument doc (String (((const char*) data) + 8,
jmin ((sizeInBytes - 8), stringLength)));
return doc.getDocumentElement();
}
}
return 0;
}
示例15: restoreUnloggedEvents
void ProjucerAnalyticsDestination::restoreUnloggedEvents (std::deque<AnalyticsEvent>& restoredEventQueue)
{
XmlDocument savedEvents (savedEventsFile);
std::unique_ptr<XmlElement> xml (savedEvents.getDocumentElement());
if (xml.get() == nullptr || xml->getTagName() != "events")
return;
auto numEvents = xml->getNumChildElements();
for (int iEvent = 0; iEvent < numEvents; ++iEvent)
{
auto* xmlEvent = xml->getChildElement (iEvent);
StringPairArray parameters;
auto* xmlParameters = xmlEvent->getChildByName ("parameters");
auto numParameters = xmlParameters->getNumAttributes();
for (int iParam = 0; iParam < numParameters; ++iParam)
parameters.set (xmlParameters->getAttributeName (iParam),
xmlParameters->getAttributeValue (iParam));
StringPairArray userProperties;
auto* xmlUserProperties = xmlEvent->getChildByName ("user_properties");
auto numUserProperties = xmlUserProperties->getNumAttributes();
for (int iProp = 0; iProp < numUserProperties; ++iProp)
userProperties.set (xmlUserProperties->getAttributeName (iProp),
xmlUserProperties->getAttributeValue (iProp));
restoredEventQueue.push_back ({
xmlEvent->getStringAttribute ("name"),
xmlEvent->getIntAttribute ("type"),
static_cast<uint32> (xmlEvent->getIntAttribute ("timestamp")),
parameters,
xmlEvent->getStringAttribute ("user_id"),
userProperties
});
}
savedEventsFile.deleteFile();
}