diff --git a/tableauserverclient/models/view_item.py b/tableauserverclient/models/view_item.py
index c4d36a841..3dd9e065b 100644
--- a/tableauserverclient/models/view_item.py
+++ b/tableauserverclient/models/view_item.py
@@ -1,6 +1,7 @@
import xml.etree.ElementTree as ET
from ..datetime_helpers import parse_datetime
from .exceptions import UnpopulatedPropertyError
+from .tag_item import TagItem
class ViewItem(object):
@@ -119,6 +120,7 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
workbook_elem = view_xml.find('.//t:workbook', namespaces=ns)
owner_elem = view_xml.find('.//t:owner', namespaces=ns)
project_elem = view_xml.find('.//t:project', namespaces=ns)
+ tags_elem = view_xml.find('.//t:tags', namespaces=ns)
view_item._created_at = parse_datetime(view_xml.get('createdAt', None))
view_item._updated_at = parse_datetime(view_xml.get('updatedAt', None))
view_item._id = view_xml.get('id', None)
@@ -142,5 +144,10 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
elif workbook_elem is not None:
view_item._workbook_id = workbook_elem.get('id', None)
+ if tags_elem is not None:
+ tags = TagItem.from_xml_element(tags_elem, ns)
+ view_item.tags = tags
+ view_item._initial_tags = tags
+
all_view_items.append(view_item)
return all_view_items
diff --git a/test/assets/view_get.xml b/test/assets/view_get.xml
index f205edf6a..283488a4b 100644
--- a/test/assets/view_get.xml
+++ b/test/assets/view_get.xml
@@ -6,6 +6,10 @@
+
+
+
+
diff --git a/test/test_view.py b/test/test_view.py
index 213ea2538..fcf7d986c 100644
--- a/test/test_view.py
+++ b/test/test_view.py
@@ -42,6 +42,7 @@ def test_get(self):
self.assertEqual('3cc6cd06-89ce-4fdc-b935-5294135d6d42', all_views[0].workbook_id)
self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', all_views[0].owner_id)
self.assertEqual('5241e88d-d384-4fd7-9c2f-648b5247efc5', all_views[0].project_id)
+ self.assertEqual(set(['tag1', 'tag2']), all_views[0].tags)
self.assertIsNone(all_views[0].created_at)
self.assertIsNone(all_views[0].updated_at)
self.assertIsNone(all_views[0].sheet_type)