Как отмечают другие в комментариях. В вашем коде на данный момент вы получаете ожидаемый результат, так как r
и r1
являются экземплярами класса. Если вы хотите дифференцировать ваши экземпляры на основе имени и хотите вернуть то же самое, вы можете передать аргумент name
и определить __repr__
для представления вашего вывода при вызове str(instance)
. Просто подумаю:
class Robot():
"""Test class"""
def __init__(self, age, name):
self.age = age
self.name = name
def __repr__(self):
return self.name
r = Robot(10,'r')
r1 = Robot(15,'r1')
mylist1 = [r, r1]
mylist2 = []
for item in mylist1:
mylist2.append(item)
print(mylist2)
Результат:
[r, r1]
В противном случае можно использовать словарь для отображения
class Robot():
"""Test class"""
def __init__(self, age,name):
self.age = age
self.name=name
r = Robot(10,'r')
r1 = Robot(15,'r1')
mylist1 = [r, r1]
d={}
for item in mylist1:
d[item.name]=item
print(d)
Вывод
[ 113]Звонить t.ToString()
вместо Value
. Это возвратит XML как строку. Можно хотеть использовать взятие перегрузки SaveOptions для отключения форматирования. Я не могу проверить прямо сейчас, но я подозреваю, что это будет включать тег элементов (и элементы), таким образом, необходимо было бы снять изоляцию с этого.
Обратите внимание, что, если Ваш HTML не является допустимым XML, Вы закончите с недопустимым полным XML-файлом.
Формат XML-файла полностью из Вашего управления? Было бы более хорошо для любого HTML внутри быть XML-закодированным.
Править: Один способ постараться не получать внешнюю часть мог бы состоять в том, чтобы сделать что-то вроде этого (в отдельном методе, названном от Вашего запроса, конечно):
StringBuilder builder = new StringBuilder();
foreach (XNode node in element.Nodes())
{
builder.Append(node.ToString());
}
Тем путем Вы получите элементы HTML с их потомками и вкрапленными текстовыми узлами. В основном это - эквивалент InnerXml, я сильно подозреваю.
TipText = t. Значение,
XElement.value возвращает только текст, который является непосредственно в элементе. Текст во вложенных элементах - HTML или иначе - не будет включен, и конечно любой &-entity-references появится в их декодируемой форме.
Если Вы хотите содержание как строку с разметкой, Вы могли бы позвонить XElement. ToString (), возможно с SaveOptions. DisableFormatting. Но обратите внимание, что это включает переносящийся <подсказка> элемент - то есть, в веб-браузере условия DOM, это - outerHTML не innerHTML. Для получения innerHTML, необходимо было бы объединиться весь ToString () s ребенка XElement. Узлы.