Как я выбираю XML-узел на основе его содержания?

Я придумал свое решение. Используйте этот метод, передайте любой документ ( dict , list , ObjectId и т. Д.) Для сериализации.

def getSerializable(doc):
    # check if it's a list
    if isinstance(doc, list):
        for i, val in enumerate(doc):
            doc[i] = getSerializable(doc[i])
        return doc

    # check if it's a dict
    if isinstance(doc, dict):
        for key in doc.keys():
            doc[key] = getSerializable(doc[key])
        return doc

    # Process ObjectId
    if isinstance(doc, ObjectId):
        doc = str(doc)
        return doc

    # Use any other custom serializting stuff here...

    # For the rest of stuff
    return doc
16
задан Cros 2 September 2011 в 08:06
поделиться

3 ответа

/books/book/authors/author[contains(., 'Ritchie')]

или

//author[contains(., 'Ritchie')]
23
ответ дан 30 November 2019 в 17:40
поделиться

XPath для этого:

/books/book/authors/author[contains(., 'Ritchie')]

В C# следующий код возвратил бы "Ritchie, Dennis M.":

xmlDoc.SelectSingleNode("/books/book/authors/author[contains(., 'Ritchie')]").InnerText;
4
ответ дан 30 November 2019 в 17:40
поделиться
//author[contains(text(), 'Ritchie')]
4
ответ дан 30 November 2019 в 17:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: